जाभास्क्रिप्ट र नियमित अभिव्यक्तिको साथ ईमेल ठेगाना जाँच गर्नुहोस्

केहि समय अघि मैले एउटा राखें जाभास्क्रिप्ट र नियमित अभिव्यक्ति प्रयोग गरेर पासवर्ड शक्ति परीक्षक। उही नोटमा, तपाईले इ-मेल ठेगानाको संरचना पनि जाँच गर्न सक्नुहुन्छ समान नियमित अभिव्यक्ति (regex) पद्धति प्रयोग गरेर।

यदि तपाइँको फारम तत्व छ id = "emailaddress" र तपाइँ एक फारम जोड्नुहोस् 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;
}
}

प्रकार्यले फिल्टरको ईमेलको सामग्रीलाई मान्य गर्दछ। यदि तुलना असफल भयो भने, यसले सतर्कता विस्तार गर्दछ र ईमेल ठेगाना फिल्डमा फर्कन्छ।

41 टिप्पणिहरु

  1. 1

    बहु ईमेल ठेगानाहरूसँग फारमहरूका लागि, यो वर्ग = "emailaddress" गर्न राम्रो हुन्छ। यदि तपाईंसँग प्रोटोटाइप। js पुस्तकालय छ (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

      नमस्ते रेग,

      तपाईं एक Regex को उपयोग एक बाहिर परीक्षण गर्न सक्नुहुन्छ अनलाइन रेजेक्स परीक्षक.

      साथै, त्यहाँ निश्चित रूपमा अझ धेरै गर्न सकिन्छ यदि तपाईं एक सुनिश्चित गर्न चाहनुहुन्छ भने इ - मेल ठेगाना RFC अनुसार मान्य छ।

      त्यहाँ अमान्य ईमेल ठेगाना प्रविष्ट गर्न कसैलाई अनुमति नदिन केहि कारणहरू छन्:
      १. तिनीहरू तपाईलाई रिस उठ्नेछन् जब उनीहरूले अपेक्षित ईमेल मार्फत प्राप्त गर्दैनन - चाहे तपाईको गल्ती ठेगाना गलत प्रविष्ट गरिएको थियो वा भएन।
      २. यदि com.museum एक मान्य डोमेन हो र, मानौं याहू! यसलाई संचालित गरियो - कुनै ईमेल ठेगाना जुन बाउन्स गरियो तपाईंको ईमेल डेलिभरीको लागि तपाईंको कम्पनीको प्रतिष्ठामा नकारात्मक असर पार्दछ। यसले तपाईंको कम्पनीको सबै ईमेल ब्लक भएको हुन सक्छ।
      Your. यदि तपाईंको ईमेल सेवा प्रदायकले तपाईंलाई प्रविष्ट गर्न अनुमति दिईयो bob@com.museum, तपाइँ त्यो ईमेल ठेगानामा पठाइएको प्रत्येक ईमेलको लागि पनि भुक्तान गर्न सक्नुहुनेछ जब सम्म तिनीहरूले बाउन्सको कारण त्यो ठेगाना सदस्यता रद्द गरे। म कुनै पनि ESP लाई हटाउन सक्छ कि एक अवैध ईमेल ठेगाना को लागी अनुमति दिनुहुन्छ कि - ती भर्खर तपाईको पैसा लिइरहेका छन्!

      रोक्नु भएकोमा धन्यवाद!
      डग

  4. 9
  5. 10

    त्यहाँ अभिव्यक्ति लेख्न धेरै सरल तरीका छ:
    var regex = /^[a-z0-9\._-]+@([a-z0-9_-]+\.)+[a-z]{2,6}$/i;
    - अन्तिम परिमार्जकको साथ / i अपर केस दायरा स indicate्केत गर्न आवश्यक छैन।
    - मलाई कुनै पनि थाहा छैन TLD यसमा नम्बरहरूको साथ।
    एक साइड नोटमा, म TLD लाई cha वर्णहरू सम्म अनुमति दिन्छ; नयाँ व्यक्तिहरू नियमित रूपमा आइपुग्छन् र तपाइँलाई कहिले थाहा छैन (राम्रोसँग, ती भविष्यहरूमा पनि संख्याहरू हुनसक्दछन्, मलाई थाहा छ)।

  6. 11

    नमस्कार,

    म यसलाई वास्तविक समयमा मौजूदा फारममा प्रयोग गर्न खोज्दै छु, तर यो तपाईको पासवर्ड शक्ति परीक्षक जस्तै रीयलटाइममा मान्य हुँदैन।

    वा, म मात्र त्यस्तो सुस्त छु, र यो मेरो लागि काम गरिरहेको छ?

  7. 12

    btw, मलाई वास्तवमै मनपर्दछ कि तपाईं यहाँ के गर्दै हुनुहुन्छ, तपाईंको ट्यूटोरियलहरू धेरै सरल छन्, म निश्चित रूपमा यसलाई बुकमार्क गर्नेछु…।

  8. 13

    केवल एक FYI; मैले Ade को समाधान प्रयास गरेको छैन तर माथिको ढाँचाले उनीहरूमा ईस्ट्रोपसको साथ ईमेल ठेगानाहरू मान्य गर्दैन .. (उदाहरणका लागि, माइक। O'Hare@W काहीही।)। Apostrophes RFC 2821/2822 -> प्रति मान्य छ http://www.faqs.org/rfcs/rfc2822.html

    HTH,
    संजय

  9. 16
  10. 17

    केवल सानो सुधार: नियमित अभिव्यक्तिको अन्तमा थप () + हुन्छ। यो पढ्नु पर्छ:

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

    पहिलोको साथ कुनै पनि लम्बाई TLDs स्वीकार गरिने थियो (जुन अरूले औंल्याए अनुसार कुनै गल्ती छैन, तर यदि त्यो अभिप्राय छ भने अभिव्यक्ति छोट्याउन सकिन्छ)।

  11. 18

    के तपाई कृपया यस कोडको नियमित अभिव्यक्ति र यसको कार्य कसरी व्याख्या गर्नुहुन्छ? .टेस्टको बारेमा पनि - के जावास्क्रिप्टमा एक पूर्वनिर्धारित कथन छ कि तपाईले माथिको कोडमा गर्नुभयो जस्तै चीजहरू जाँच्नको लागि हो?

  12. 19
  13. 20

    यो ईमेल अभिव्यक्ति को लागी छोटो कोड हो -

    प्रकार्य मान्य ईमेल (आईडी)
    {
    var ईमेल पत्र
    इ-मेल प्याटर्न.टेस्ट (आईडी) फर्काउनुहोस्;

    }
    दीपक राई
    वाराणसी

  14. 21
  15. 22
  16. 23

    धन्यबाद, तर यस रेजेक्स मा एक त्रुटि छ। म एक रेजेक्स विशेषज्ञ होईन, तर मैले ईमेल प्रयास गरे।

    परीक्षा @ परीक्षा

    र यसले रेजेक्सलाई पार गर्यो ... मैले थाहा पाएँ कि यसमा भाग्ने अभाव छ ""। त्यसैले यो हुनु पर्छ:

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

  17. 24
  18. 27

    ठिक छ, यो केवल असभ्य जाँच हो तर १००% सही छैन, उदाहरणका लागि यो ठीक हुनेछ जॉन_डो। @ gmail.com जुन वास्तवमै वैध ईमेल ठेगाना होईन (ई-मेलको स्थानीय भागमा अन्तिम वर्णको रूपमा डटलाई अनुमति छैन)।
    साथै यो स्वीकार्नेछ john…doe@gmail.com जुन अमान्य छ किनकि त्यहाँ अनुक्रममा एक भन्दा बढि बिन्दु हुन सक्दैन।

    यी केवल केही त्रुटिहरू छन् जुन मैले पहिलो पटक देखेको थिएँ।
    मेरो अभिप्रायले कसैलाई सुरक्षा जाँचको रूपमा प्रयोग गर्ने योजना बनाइरहेको छ भने पर्याप्त ईमान्दार छैन यो कुरा औंल्याउन कोसिस गर्दैछ।

    वैध ईमेल ठेगानाहरूको बारेमा जानकारीको लागि जाँच गर्नुहोस्। http://en.wikipedia.org/wiki/E-mail_address

  19. 28

    दीपक,

    वास्तवमा, मलाई लाग्छ कि तपाईंले थोप्लो ("।") का लागि एस्केप लागू गर्न आवश्यक छ। त्यसो भए तपाईको प्रकार्य यसको सट्टामा हुनुपर्दछ:

    प्रकार्य मान्य ईमेल (आईडी)
    {
    var ईमेल पत्र
    इ-मेल प्याटर्न.टेस्ट (आईडी) फर्काउनुहोस्;

    }

    अन्यथा, डटको अर्थ "कुनै पनि चरित्र" हुनेछ। म विश्वास गर्दछु कि त्यस्ता विशेष पात्रहरूलाई उम्कन आवश्यक छ।

    सादर,

    फेडरिको

  20. 29

    प्रकार्य मान्य ईमेल (fld) {
    var त्रुटि = "";
    var tfld = ट्रिम (fld.value); // क्षेत्रको मान whitespace संग छोटो छ
    var ईमेलफिल्टर = /^رل^@स्थान +@sel^@. थोरै
    var अवैधChars = / [(),;: \ "[]] /;

    यदि (fld.value == "तपाईंको ईमेल ठेगाना प्रविष्ट गर्नुहोस्") {

    त्रुटि = "कृपया तपाइँको ईमेल ठेगाना प्रविष्ट गर्नुहोस्। एन;";
    } अन्यथा यदि (! ईमेलफिल्टर.टेस्ट (tfld)) illegal // अवैध पात्रहरूको लागि परीक्षण ईमेल

    त्रुटि = "कृपया एक मान्य ईमेल ठेगाना प्रविष्ट गर्नुहोस्।";
    } अन्यथा यदि (fld.value.match (अवैधानिक)) {

    त्रुटि = "कृपया एक मान्य ईमेल ठेगाना प्रविष्ट गर्नुहोस्।";
    }
    रिटर्न त्रुटि;
    }

  21. 30

    प्रकार्य मान्य ईमेल (fld) {
    var त्रुटि = "";
    var tfld = ट्रिम (fld.value); // क्षेत्रको मान whitespace संग छोटो छ
    var ईमेलफिल्टर = /^رل^@स्थान +@sel^@. थोरै
    var अवैधChars = / [(),;: \ "[]] /;

    यदि (fld.value == "तपाईंको ईमेल ठेगाना प्रविष्ट गर्नुहोस्") {

    त्रुटि = "कृपया तपाइँको ईमेल ठेगाना प्रविष्ट गर्नुहोस्। एन;";
    } अन्यथा यदि (! ईमेलफिल्टर.टेस्ट (tfld)) illegal // अवैध पात्रहरूको लागि परीक्षण ईमेल

    त्रुटि = "कृपया एक मान्य ईमेल ठेगाना प्रविष्ट गर्नुहोस्।";
    } अन्यथा यदि (fld.value.match (अवैधानिक)) {

    त्रुटि = "कृपया एक मान्य ईमेल ठेगाना प्रविष्ट गर्नुहोस्।";
    }
    रिटर्न त्रुटि;
    }

  22. 31

    प्रकार्य मान्य ईमेल (fld) {
    var त्रुटि = "";
    var tfld = ट्रिम (fld.value); // क्षेत्रको मान whitespace संग छोटो छ
    var ईमेलफिल्टर = /^رل^@स्थान +@sel^@. थोरै
    var अवैधChars = / [(),;: \ "[]] /;

    यदि (fld.value == "तपाईंको ईमेल ठेगाना प्रविष्ट गर्नुहोस्") {

    त्रुटि = "कृपया तपाइँको ईमेल ठेगाना प्रविष्ट गर्नुहोस्। एन;";
    } अन्यथा यदि (! ईमेलफिल्टर.टेस्ट (tfld)) illegal // अवैध पात्रहरूको लागि परीक्षण ईमेल

    त्रुटि = "कृपया एक मान्य ईमेल ठेगाना प्रविष्ट गर्नुहोस्।";
    } अन्यथा यदि (fld.value.match (अवैधानिक)) {

    त्रुटि = "कृपया एक मान्य ईमेल ठेगाना प्रविष्ट गर्नुहोस्।";
    }
    रिटर्न त्रुटि;
    }

  23. 32

    प्रकार्य मान्य ईमेल (fld) {
    var त्रुटि = "";
    var tfld = ट्रिम (fld.value); // क्षेत्रको मान whitespace संग छोटो छ
    var ईमेलफिल्टर = /^رل^@स्थान +@sel^@. थोरै
    var अवैधChars = / [(),;: \ "[]] /;

    यदि (fld.value == "तपाईंको ईमेल ठेगाना प्रविष्ट गर्नुहोस्") {

    त्रुटि = "कृपया तपाइँको ईमेल ठेगाना प्रविष्ट गर्नुहोस्। एन;";
    } अन्यथा यदि (! ईमेलफिल्टर.टेस्ट (tfld)) illegal // अवैध पात्रहरूको लागि परीक्षण ईमेल

    त्रुटि = "कृपया एक मान्य ईमेल ठेगाना प्रविष्ट गर्नुहोस्।";
    } अन्यथा यदि (fld.value.match (अवैधानिक)) {

    त्रुटि = "कृपया एक मान्य ईमेल ठेगाना प्रविष्ट गर्नुहोस्।";
    }
    रिटर्न त्रुटि;
    }

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

तिम्रो के बिचार छ?

यो साइट स्प्याम कम गर्न Akismet को उपयोग गर्दछ। जान्नुहोस् कि तपाईंको डेटा कसरी संसाधित छ.