بتاريخ: 29 سبتمبر 200817 سنة comment_139887 اريد المساعدة علشان اتاكد ان الاميل المدخل في الصيغة الصحية بمعنى انه يحتوي على @ كيف يتم ذلك تم تعديل 29 سبتمبر 200817 سنة بواسطة sasa87 تقديم بلاغ
بتاريخ: 29 سبتمبر 200817 سنة comment_139890 الاخ الكريم لكى تتاكد ان ال email يحتوى عل @ يمكنك استخدام instr function التى ترجع موضع الحرف @ او 0 فى حالة عدم وجوده select instr('[email protected]' , '@' ) from dual ; ترجع 4 select instr('abc.xyz.com' , '@' ) from dual ; ترجع 0 ويمكنك استخدام functions اكثر تعقيدا للتأكد من باقى عناصر الemail فمثلا يمكن استخدام نفس ال function للتأكد من ان المدخل يحتوى على com او gov او org او net select instr('[email protected]' , 'com' ) from dual ; ترجع 9select instr('[email protected]' , 'com' ) from dual ; ترجع 0 وهكذاطارق تقديم بلاغ
بتاريخ: 29 سبتمبر 200817 سنة comment_139893 ما تريده لا يتم ألا من خلال ال Regular Expression ، و أول ظهور لها كان فى اوراكل 10g .أقراء هذا الموضوع جيداً :-أضغط هناهتلاقى فيه اللى انت عاوزه.-----------------------------------------------------------------------------و أيضاً قم بقراءة بما هو مكتوب بهذه الوصلة :-أضغط هنا لمعرفة كيفية أستخدام ال Regular Expressionو بالتوفيق و لو فى اى شىء مش فاهمه ، قولى و انا هظبطه معاك .و بالتوفيق تقديم بلاغ
بتاريخ: 30 أكتوبر 200817 سنة comment_141889 لقد وجدت هذه الفانكشن فى احد المواقع واعتقد انها يمكن ان تفى بالغرض مع اضافة اى اختبارات اخرى تراها مع تحياتىطارق CREATE OR REPLACE FUNCTION xxx_validate_email (l_email_id IN VARCHAR2) RETURN VARCHAR2 IS l_str_length NUMBER; l_dot_position NUMBER; l_at_position NUMBER; BEGIN l_dot_position := INSTR (l_email_id, '.'); l_at_position := INSTR (l_email_id, '@'); l_str_length := LENGTH (l_email_id); IF ( (l_dot_position = 0) OR (l_at_position = 0) OR (l_dot_position = l_at_position + 1) OR (l_at_position = 1) OR (l_at_position = l_str_length) OR (l_dot_position = l_str_length) ) THEN RETURN 'INVALID'; END IF; IF INSTR (SUBSTR (l_email_id, l_at_position), '.') = 0 THEN RETURN 'INVALID'; END IF; RETURN 'VALID'; END xxx_validate_email; / تقديم بلاغ
بتاريخ: 30 أكتوبر 200817 سنة comment_141933 أخى t-hassaan شكراً على مشركتك ..... لكن صدقنى أفضل شىء لظبط ال Email هو ال Regular Expressionأنظر كيف تم مرور هذا الاميل من دالة xxx_validate_email بلا أى أخطاء :- 1 begin 2 dbms_output.put_line(xxx_validate_email('[email protected]_o_m')); 3* end; SQL> / VALID PL/SQL procedure successfully completed. و على حد علمى المتواضع فأنا لم أرى من قبل أميل بهذا الشكل [email protected]_o_m تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.