• 0

كيف أتحقّق من وجود عنوان بريدي في خانة ما باستخدام JavaScript؟

لديّ خانة في نموذج يجب أن تملئ بعنوان بريد إلكتروني، كيف أتحقّق أن المستخدم أدخل عنوان بريد إلكتروني سليم باستخدام JavaScript؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

بدايةً لا بد لي أن أنوّه إلى أن التحقق من المدخلات باستخدام لغة جافا سكريبت JavaScript غير كافي، فمن الممكن أن يعطّل المستخدم تشغيلها على المتصفح، لذلك يجب عليك أن تتحقق من البريد الإلكتروني على طرف الخادم أيضًا.

لكي تقوم بالتحقق عليك استخدام التعابير المنتظمة Regular Expression والتي تعرف اختصارًا بـ ReqEx، وذلك عبر مقابلة القيمة المدخلة من قبل المستخدم مع عبارة تحدّد شكل البريد الالكتروني المطلوب، فمثلًا، العبارة التالية تقبل عناوين البريد الإلكتروني المؤلفة من:

  • محرف واحد على الأقل قبل رمز @ (يعبّر عن اسم المستخدم)
  • رمز @
  • محرف واحد على الأقل بعد رمز @ (يعبر عن اسم الموقع الذي يقدم خدمة البريد الالكتروني) ثم يتبع تلك المحارف نقطة (.) وبعدها حرفين أو ثلاثة أحرف (تعبّر عن النطاق الأعلى)

فيما يأتي عبارة ReqEx التي تحقق ما سبق:

/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

حيث تعبر i في نهاية العبارة عن عدم مطابق حالة الأحرف، فمثلًا، تكون ReqEx مطابقة لـ reqex.

 

يمكنك استخدام العبارة السابقة ضمن دالة جافا سكريبت كما يلي:

function checkemail() {
	var str=document.validation.emailcheck.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str))
		return true
	else {
		alert("Please input a valid email address!")
		return false
	}
}

حيث تعبّر emailcheck عن اسم حقل input الذي سيكتب المستخدم ضمنه البريد الإلكتروني.

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن