جاوا اسکرپٹ اور باقاعدہ اظہار کے ساتھ ای میل پتہ چیک کریں

تھوڑی دیر پہلے میں نے ایک جاوا اسکرپٹ اور باقاعدہ اظہار کا استعمال کرتے ہوئے پاس ورڈ کی طاقت چیکر. اسی نوٹ پر ، آپ ایک باقاعدہ اظہار (ریجیکس) طریقہ کار کو استعمال کرتے ہوئے کسی ای میل پتے کی ساخت کو بھی دیکھ سکتے ہیں۔

اگر آپ کے فارم عنصر میں ہے ID = "ای میل ایڈریس" اور آپ ایک فارم شامل کریں onSubmit = "واپسی چیک ای میل ()؛“، یہ جاوا اسکرپٹ کا فنکشن ہے جس سے آپ انتباہ کو واپس کرنے کے لئے استعمال کرسکتے ہیں اگر ای میل ایڈریس کی ایک درست ڈھانچہ ہے یا نہیں:

function checkEmail() {
var email = document.getElementById('emailaddress');
var filter = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (!filter.test(email.value)) {
alert('Please provide a valid email address');
email.focus;
return false;
}
}

فنکشن فلٹر کے ای میل کے مشمولات کی توثیق کرتا ہے۔ اگر موازنہ ناکام ہو جاتا ہے تو ، یہ ایک انتباہی پاپ اپ کرتا ہے اور ای میل ایڈریس فیلڈ پر توجہ مرکوز کرتا ہے!

۰ تبصرے

  1. 1

    متعدد ای میل پتوں والے فارموں کے ل class ، کلاس = "ای میل ایڈریس" کرنا اچھا ہوگا۔ اگر آپ کے پاس پروٹوٹائپ ڈاٹ جے ایس لائبریری ہے (http://www.prototypejs.org) اس صفحے پر شامل ہیں آپ کچھ ایسا کرسکتے ہیں:

    var માન્ય = سچ؛
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    $$ ('. emailaddress'). ہر (فنکشن (ای میل) {
    اگر (! فلٹر.ٹیسٹ (ای میل.یویلیو)) {
    انتباہ (؟ براہ کرم ایک درست ای میل پتہ فراہم کریں؟)؛
    ای میل۔ فوکس؛
    جائز = غلط؛
    }
    })؛
    درست واپسی؛

  2. 5
  3. 7

    مجھے یہ خیال پسند ہے ، لیکن میں اس مخصوص بیان کو اپنانے میں ہچکچاہوں گا کہ اس بات کی وضاحت کے بغیر کہ کون سا قانونی ای میل ایڈریس اسے قبول نہیں کرتا ہے اور کونسا غیر قانونی ایڈریس اس کی اجازت دیتا ہے۔

    ایک باقاعدہ اظہار کی مثال کے طور پر جو ایک معقول کام کرتا ہے اس کی وضاحت کے ساتھ کہ اس میں کس معاملے کا احاطہ نہیں کیا گیا ہے ، ملاحظہ کریں:

    http://www.regular-expressions.info/email.html

    میری ذاتی ترجیح یہ ہے کہ زیادہ تر آسان مقدمات کا احاطہ کرنا اور اسے مسترد کرنے کے بجائے کسی اور چیز کے لئے انتباہ جاری کرنا ہے۔ اگر باب واقعی سٹو جمع کروانا چاہتا ہے bob@com.museum کے بجائے bob@museum.com، کیوں نہیں جانے دو؟

    • 8

      ہیلو ریگ ،

      آپ ریجیکس کو استعمال کرکے جانچ سکتے ہیں آن لائن ریجیکس ٹیسٹر.

      نیز ، یقینی طور پر اور بھی بہت کچھ ہے جو آپ کو یقینی بنانا چاہتے ہیں تو کیا جاسکتا ہے ای میل ایڈریس آر ایف سی کے مطابق درست ہے۔

      کچھ وجوہات ہیں جو کسی کو غلط ای میل ایڈریس داخل کرنے کی اجازت نہیں دیتے ہیں۔
      1. وہ آپ پر ناراض ہوجائیں گے جب ان کی توقع کی گئی ای میل نہیں ملے گی - چاہے یہ آپ کی غلطی تھی یا نہیں چاہے پتہ غلط طریقے سے داخل کیا گیا ہو۔
      2. اگر com.museum ایک درست ڈومین تھا اور ، چلیں ، یاہو! اس نے کام کیا - کوئی بھی ای میل پتہ جو باؤنس ہو آپ کے ای میل کی ترسیل کے ل company's آپ کی کمپنی کی ساکھ پر منفی اثر ڈالتا ہے۔ اس سے آپ کی کمپنی کا سبھی ای میل مسدود ہوسکتا ہے۔
      اگر آپ کے ای میل سروس فراہم کنندہ نے آپ کو داخلے کی اجازت دی bob@com.museum، آپ اس ای میل پتے پر بھیجے گئے ہر ای میل کی ادائیگی بھی کریں گے جب تک کہ وہ اچھال کے سبب اس پتے کی رکنیت ختم کردیں۔ میں کسی بھی ایسے ESP سے واضح ہوجائوں گا جواس طرح کے غلط ای میل پتے کی اجازت دے - وہ صرف آپ کے پیسے لے رہے ہیں!

      کی طرف سے روکنے کے لئے شکریہ!
      ڈوگ

  4. 9
  5. 10

    اظہار لکھنے کا بہت آسان طریقہ ہے:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    - حتمی ترمیم کنندہ / I کے ساتھ ، اپر کیس کی حد کی نشاندہی کرنے کی ضرورت نہیں ہے۔
    - میں کسی سے نہیں جانتا ہوں TLD اس میں نمبروں کے ساتھ
    ضمنی نوٹ پر ، میں TLD تک 6 حرف کے ساتھ اجازت دیتا ہوں؛ نئے لوگ باقاعدگی سے آتے ہیں اور آپ کو کبھی معلوم نہیں ہوتا (اچھی طرح سے ، مستقبل میں آنے والوں میں اس کی تعداد بھی ہوسکتی ہے ، میں جانتا ہوں)۔

  6. 11

    ہیلو وہاں،

    میں اس کو ریئل ٹائم میں موجودہ شکل میں استعمال کرنے کی کوشش کر رہا ہوں ، لیکن ایسا لگتا ہے کہ یہ آپ کے پاس ورڈ کی طاقت چیکر کی طرح ریئل ٹائم میں بھی توثیق نہیں کرتا ہے۔

    یا ، کیا میں صرف اتنا ہی بے نقاب ہوں ، اور یہ میرے لئے کام کرتا ہے؟

  7. 12

    btw ، مجھے واقعی میں آپ کے یہاں کیا چل رہا ہے پسند ہے ، آپ کے سبق بہت آسان ہیں ، میں یقینی طور پر اس کو بک مارک کروں گا….

  8. 13

    صرف ایک FYI؛ میں نے ایڈی کا حل حل کرنے کی کوشش نہیں کی ہے لیکن مذکورہ بالا نمونہ ان میں ایڈروسٹس کے ساتھ ای میل پتوں کی توثیق نہیں کرتا ہے .. (جیسے ، مائک.او 'ہیئر @ ڈاٹ کام)۔ ارفاسٹرفس فی آر ایف سی 2821/2822 -> کے مطابق ہیں http://www.faqs.org/rfcs/rfc2822.html

    ایچ ٹی ایچ ،
    سنجے

  9. 16
  10. 17

    صرف ایک چھوٹی سی اصلاح: باقائدہ اظہار کے آخر میں ایک اضافی () + ہوتا ہے۔ اسے پڑھنا چاہئے:

    ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+[a-zA-Z0-9]{2,4}$

    سب سے پہلے کسی لمبائی میں TLDs کو قبول کیا جائے گا (جو اندرونی طور پر غلط نہیں ہے جیسا کہ دوسروں نے بتایا ہے ، لیکن اگر یہی ارادہ ہوتا تو اس کا اظہار مختصر کیا جاسکتا ہے)۔

  11. 18

    کیا آپ براہ کرم اس کوڈ کے باقاعدہ اظہار کی وضاحت کر سکتے ہیں اور اس کے کام کا طریقہ اس کے علاوہ .est کے بارے میں بھی - کیا جاوا اسکرپٹ میں پہلے سے طے شدہ بیان ہے جیسے آپ نے اوپر والے کوڈ میں کیا تھا؟

  12. 19

    ای میل اظہار کے لئے یہ ایک مختصر کوڈ ہے۔

    تقریب کی تصدیق ای میل (ID)
    {
    متغیر ای میل پیٹرن = /^رلa-zA-Z0-9._- চাপ +@sela-zA-Z0-9.
    ای میل پیٹرن ڈاٹسٹ (ID) واپس کریں؛

    }
    دیپک رائے
    وارانسی

  13. 20

    ای میل اظہار کے لئے یہ ایک مختصر کوڈ ہے۔

    تقریب کی تصدیق ای میل (ID)
    {
    متغیر ای میل پیٹرن = /^رلa-zA-Z0-9._- চাপ +@sela-zA-Z0-9.
    ای میل پیٹرن ڈاٹسٹ (ID) واپس کریں؛

    }
    دیپک رائے
    وارانسی

  14. 21
  15. 22
  16. 23

    شکریہ ، لیکن اس ریجیکس میں ایک خامی ہے۔ میں ایک ریجیکس ماہر نہیں ہوں ، لیکن میں نے ای میل کی کوشش کی:

    امتحان @ ٹیسٹ

    اور اس نے ریجیکس کو منتقل کیا… میں نے دیکھا کہ اس سے "فرار ہونے کی کمی ہے۔" تو یہ ہونا چاہئے:

    /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/

  17. 24
  18. 27

    ٹھیک ہے ، یہ محض ایک معقول جانچ پڑتال ہے لیکن 100٪ درست نہیں ، مثال کے طور پر یہ ٹھیک ہوگا john_doe. @ gmail.com جو دراصل ایک درست ای میل پتہ نہیں ہے (ای میل کے مقامی حصے میں ڈاٹ کو آخری حرف کی حیثیت سے اجازت نہیں ہے)۔
    اس کے علاوہ ، یہ قبول کرے گا john…doe@gmail.com یہ بھی غلط ہے کیونکہ ایک ترتیب میں ایک سے زیادہ ڈاٹ نہیں ہوسکتے ہیں۔

    یہ کچھ خامیاں ہیں جن کو میں نے پہلی بار دیکھا۔
    میرا ارادہ صرف اس بات کی نشاندہی کرنے کی جرات نہیں کررہا ہے کہ اگر کوئی اس کو سیکیورٹی چیک کے طور پر استعمال کرنے کا ارادہ کررہا ہے - کافی حد تک محفوظ نہیں ہے۔

    درست ای میل پتے کے بارے میں معلومات کے لئے یہ چیک کریں: http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    دیپک ،

    دراصل ، مجھے لگتا ہے کہ آپ کو ڈاٹ (".") کے لئے ایک فرار کا اطلاق کرنے کی ضرورت ہے۔ تو ، اس کے بجائے ، آپ کا فنکشن ہونا چاہئے:

    تقریب کی تصدیق ای میل (ID)
    {
    متغیر ای میل پیٹرن = /^رلa-zA-Z0-9._- চাপ +@sela-zA-Z0-9.
    ای میل پیٹرن ڈاٹسٹ (ID) واپس کریں؛

    }

    بصورت دیگر ، ڈاٹ کا مطلب "کوئی بھی کردار" ہوگا۔ مجھے یقین ہے کہ ایسے خاص کرداروں سے بچنے کی ضرورت ہے۔

    ، مخلص

    فریڈریکو

  20. 29

    تقریب کی تصدیق ای میل (fld) {
    var غلطی = ""؛
    var tfld = ٹرم (fld.value)؛ // وائٹ اسپیس والے فیلڈ کی قدر چھوٹی ہوئی
    var emailFilter = /^^^^]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^......
    var غیرقانونی چرس = / [()،؛: \ ”[]] /؛

    اگر (fld.value == “اپنا ای میل ایڈریس درج کریں”) {

    نقص = "براہ کرم اپنا ای میل ایڈریس درج کریں۔ این"؛
    } دوسری صورت میں اگر (! ای میلفلٹر.ٹیسٹ (tfld)) illegal // غیر قانونی حروف کیلئے ای میل

    نقص = "براہ کرم ایک درست ای میل ایڈریس درج کریں۔ این"؛
    } ورنہ اگر (fld.value.match (غیرقانونی چارس)) {

    نقص = "براہ کرم ایک درست ای میل ایڈریس درج کریں۔ این"؛
    }
    واپسی کی خرابی؛
    }

  21. 30

    تقریب کی تصدیق ای میل (fld) {
    var غلطی = ""؛
    var tfld = ٹرم (fld.value)؛ // وائٹ اسپیس والے فیلڈ کی قدر چھوٹی ہوئی
    var emailFilter = /^^^^]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^......
    var غیرقانونی چرس = / [()،؛: \ ”[]] /؛

    اگر (fld.value == “اپنا ای میل ایڈریس درج کریں”) {

    نقص = "براہ کرم اپنا ای میل ایڈریس درج کریں۔ این"؛
    } دوسری صورت میں اگر (! ای میلفلٹر.ٹیسٹ (tfld)) illegal // غیر قانونی حروف کیلئے ای میل

    نقص = "براہ کرم ایک درست ای میل ایڈریس درج کریں۔ این"؛
    } ورنہ اگر (fld.value.match (غیرقانونی چارس)) {

    نقص = "براہ کرم ایک درست ای میل ایڈریس درج کریں۔ این"؛
    }
    واپسی کی خرابی؛
    }

  22. 31

    تقریب کی تصدیق ای میل (fld) {
    var غلطی = ""؛
    var tfld = ٹرم (fld.value)؛ // وائٹ اسپیس والے فیلڈ کی قدر چھوٹی ہوئی
    var emailFilter = /^^^^]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^......
    var غیرقانونی چرس = / [()،؛: \ ”[]] /؛

    اگر (fld.value == “اپنا ای میل ایڈریس درج کریں”) {

    نقص = "براہ کرم اپنا ای میل ایڈریس درج کریں۔ این"؛
    } دوسری صورت میں اگر (! ای میلفلٹر.ٹیسٹ (tfld)) illegal // غیر قانونی حروف کیلئے ای میل

    نقص = "براہ کرم ایک درست ای میل ایڈریس درج کریں۔ این"؛
    } ورنہ اگر (fld.value.match (غیرقانونی چارس)) {

    نقص = "براہ کرم ایک درست ای میل ایڈریس درج کریں۔ این"؛
    }
    واپسی کی خرابی؛
    }

  23. 32

    تقریب کی تصدیق ای میل (fld) {
    var غلطی = ""؛
    var tfld = ٹرم (fld.value)؛ // وائٹ اسپیس والے فیلڈ کی قدر چھوٹی ہوئی
    var emailFilter = /^^^^]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^......
    var غیرقانونی چرس = / [()،؛: \ ”[]] /؛

    اگر (fld.value == “اپنا ای میل ایڈریس درج کریں”) {

    نقص = "براہ کرم اپنا ای میل ایڈریس درج کریں۔ این"؛
    } دوسری صورت میں اگر (! ای میلفلٹر.ٹیسٹ (tfld)) illegal // غیر قانونی حروف کیلئے ای میل

    نقص = "براہ کرم ایک درست ای میل ایڈریس درج کریں۔ این"؛
    } ورنہ اگر (fld.value.match (غیرقانونی چارس)) {

    نقص = "براہ کرم ایک درست ای میل ایڈریس درج کریں۔ این"؛
    }
    واپسی کی خرابی؛
    }

  24. 33
  25. 34
  26. 35
  27. 36
  28. 37
  29. 38
  30. 39
  31. 40
    • 41

      لیکن صرف جدید براؤزرز کے ساتھ کام کرتا ہے۔ بدقسمتی سے ، دنیا ابھی ابھی گرفت میں نہیں آ سکی ہے۔ -
      آئی فون کے لئے میل باکس سے بھیجا گیا

آپ کا کیا خیال ہے؟

سپیم کو کم کرنے کے لئے یہ سائٹ اکزمیت کا استعمال کرتا ہے. جانیں کہ آپ کا تبصرہ کس طرح عملدرآمد ہے.