اذهب إلى المحتوى

السؤال

نشر

في مشروع خاص بي، يقوم المستخدم بإدخال البريد الإلكتروني الخاص به للتسجيل في الموقع، وأقوم بالتأكد من أنه تم إدخال بريد إلكتروني صحيح من خلال RegEx

هل إستعمال التعابير النمطية regular expression أمر جيد في هذه الحالة؟ أم أن هناك طريقة أفضل للتأكد من قيمة البريد الإلكتروني؟

Recommended Posts

  • 1
نشر

أحيانا يكون التحقق من عناوين البريد الالكتروني (أو عناوين URL عمومًا) معقدة بعض الشيء باستخدام Regex لأنها تحوي على كثير من الصياغات الاختيارية، بدلًا من إعادة تصميم عبارة Regex يوجد تابع التصفية filter_var يمكن استخدامه للتحقق من صحة عنوان البريد الإلكتروني بتمرير العنوان كمعامل أول والثابت FILTER_VALIDATE_EMAIL كمعامل ثان كالتالي:

$email = filter_var('example@email.com', FILTER_VALIDATE_EMAIL))

if(!$email)
    // عنوان بريد غير صحيح
}

  

  • 1
نشر

يمكنك استخدام التعابير النمطية للتحقق من ان عبارة او سلسلة نصية ما هي ما يماثل الشكل العام لعناوين البريد الالكتروني، فيما يلي مثال عن التعبير النمطي الذي نريده: 

$pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i";

مثال عملي : 

function isValidEmail($str)
{
    $pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i";

    return preg_match($pattern ,$str);
}

echo isValidEmail('jhondoe@email.com'); // true
echo isValidEmail('jhondoeemail.com'); // false

يمكنك الاستزادة بالاطلاع على كيفية صياغة التعبيرات النمطية في PHP

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...