javascript - जावास्क्रिप्ट नियमित अभिव्यक्ति ईमेल सत्यापन





regex (15)


आपको इस page पर नज़र रखने में रुचि हो सकती है, यह ईमेल पते को सत्यापित करने के लिए नियमित अभिव्यक्ति सूचीबद्ध करता है जो अधिक सामान्य मामलों को कवर करता है।

यह कोड हमेशा "null" अलर्ट कर रहा है, जिसका अर्थ है कि स्ट्रिंग अभिव्यक्ति से मेल नहीं खाती है।

var pattern = "^\[email protected][a-zA-Z_]+?\.[a-zA-Z]{2,3}$"; 

function isEmailAddress(str) {

    str = "[email protected]";      

    alert(str.match(pattern)); 
    return str.match(pattern);    

}



यदि आप अपनी नियमित अभिव्यक्ति को स्ट्रिंग के रूप में परिभाषित करते हैं तो सभी बैकस्लाश से बचने की आवश्यकता होती है, इसलिए '\ w' के बजाय आपके पास '\\ w' होना चाहिए।

वैकल्पिक रूप से, इसे नियमित अभिव्यक्ति के रूप में परिभाषित करें:

var pattern = /^\[email protected][a-zA-Z_]+?\.[a-zA-Z]{2,3}$/; 

बीटीडब्ल्यू, कृपया ग्राहक-पक्ष पर ईमेल पते मान्य न करें। आपकी नियमित अभिव्यक्ति वैसे भी एक ठोस कार्यान्वयन के लिए पास करने के लिए बहुत आसान तरीका है।

असली चीज़ यहां देखें: http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html




अधिक सरल regex

यह रहा :

var regexEmail = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
var email = document.getElementById("txtEmail");

if (regexEmail.test(email.value)) {
    alert("It's Okay")
} else {
    alert("Not Okay")

}

सौभाग्य।




मैं थोड़ी देर के लिए इस समारोह का उपयोग कर रहा हूँ। यह एक बुलियन मूल्य देता है।

// Validates email address of course.
function validEmail(e) {
    var filter = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
    return String(e).search (filter) != -1;
}



var emailRegex = /^[A-Z0-9_'%=+!`#~$*?^{}&|-]+([\.][A-Z0-9_'%=+!`#~$*?^{}&|-]+)*@[A-Z0-9-]+(\.[A-Z0-9-]+)+$/i;
if(emailRegex.test('yoursamplemail'))
alert('valid');
else
alert('invalid');






आप स्ट्रिंग ऑब्जेक्ट में फ़ंक्शन जोड़ सकते हैं

//Add this wherever you like in your javascript code
String.prototype.isEmail = function() {
    return !!this.match(/^\[email protected][a-zA-Z_]+?\.[a-zA-Z]{2,3}$/);
}

var user_email = "[email protected]";

if(user_email.isEmail()) {
    //Email is valid !
} else {
    //Email is invalid !
}



आप इस अभिव्यक्ति को भी आजमा सकते हैं, मैंने कई ईमेल पतों के खिलाफ इसका परीक्षण किया है।

var pattern = /^[A-Za-z0-9._%+-][email protected]([A-Za-z0-9-]+\.)+([A-Za-z0-9]{2,4}|museum)$/;



कभी-कभी अधिकांश पंजीकरण और लॉगिन पृष्ठ को ईमेल सत्यापित करने की आवश्यकता होती है। इस उदाहरण में आप सरल ईमेल सत्यापन सीखेंगे। पहले एचटीएमएल में एक टेक्स्ट इनपुट और इस तरह एक बटन इनपुट ले लो

<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='checkEmail();'/>

<script>
    function checkEmail() {
        var email = document.getElementById('txtEmail');
        var filter = /^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[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;
        }
    }
</script>

आप इस नियमित अभिव्यक्ति का उपयोग करके भी जांच सकते हैं

<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='checkEmail();'/>

<script>
    function checkEmail() {

        var email = document.getElementById('txtEmail');
        var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

        if (!filter.test(email.value)) {
            alert('Please provide a valid email address');
            email.focus;
            return false;
        }
    }
</script>

इस डेमो आउटपुट को जांचें जिसे आप यहां देख सकते हैं

function checkEmail() {
        var email = document.getElementById('txtEmail');
        var filter = /^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[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;
        }
    }
<input type='text' id='txtEmail'/>
<input type='submit' name='submit' onclick='checkEmail();'/>

अगर ईमेल अमान्य है तो सतर्क संदेश दें, यदि वैध ईमेल है तो कोई चेतावनी संदेश नहीं। नियमित अभिव्यक्ति के बारे में अधिक जानकारी के लिए

https://www.w3schools.com/jsref/jsref_obj_regexp.asp

आशा है इससे आपकी मदद होगी




आपको यह ध्यान में रखना चाहिए कि एजी, एजेड, 0-9,।, _ और - ईमेल पते की शुरुआत में एकमात्र मान्य वर्ण नहीं हैं।

जीमेल, उदाहरण के लिए, आपको "नकली" पते पर "नकली" पते पर एक "+" चिह्न डाल देता है (उदाहरण के लिए [email protected] किसी को भी [email protected] पर ईमेल भेजा जाएगा)।

micky.o'[email protected] आपके कोड में प्रवेश करने से रोकने के आपके कोड की सराहना नहीं करेगा ... apostrophes ईमेल पते में पूरी तरह से मान्य हैं।

उपरोक्त वर्णित वैध ईमेल पते का "चेक" क्लोजर है, क्योंकि यह स्वयं ही कहता है, काफी भद्दा:

http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/format/emailaddress.js#198

मैं आपके क्लाइंट साइड कोड में बहुत खुले होने की सलाह देता हूं, और उसके बाद एक लिंक के साथ एक ईमेल भेजने जैसे बहुत अधिक हेवीवेट वास्तव में यह जांचता है कि यह "वैध" है (जैसा कि - उनके प्रदाता के लिए सिंटैक्टिक रूप से मान्य है, और गलत वर्तनी भी नहीं है)।

कुछ इस तरह:

var pattern = /[^@][email protected][-az\.]\.[az\.]{2,6}/

इस बात को ध्यान में रखते हुए कि सैद्धांतिक रूप से आपके पास ईमेल पते में दो @ संकेत हो सकते हैं, और मैंने डोमेन नामों में लैटिन 1 से परे वर्ण भी शामिल नहीं किए हैं!

http://www.eurid.eu/en/eu-domain-names/idns-eu

http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx




चेक ईमेल सिंटैक्स के लिए सरल लेकिन शक्तिशाली ईमेल सत्यापन:

var EmailId = document.getElementById('Email').value;
var emailfilter = /^[\w._-]+[+]?[\w._-][email protected][\w.-]+\.[a-zA-Z]{2,6}$/;
if((EmailId != "") && (!(emailfilter.test(EmailId ) ) )) {
    msg+= "Enter the valid email address!<br />";
}



इसका उपयोग करना सबसे अच्छा होगा:

var pattern = /^\[email protected][a-zA-Z_]+?\.[a-zA-Z]{2,20}$/;

यह डोमेन को अनुमति देता है जैसे: whatever.info (अंत में 4 अक्षर)

प्रयोग करने के लिए, परीक्षण करने के लिए

pattern.test("[email protected]")

अगर यह काम करता है तो सच हो जाता है

http://www.w3schools.com/js/js_obj_regexp.asp




ईमेल सत्यापन गलत होना आसान है। इसलिए मैं अनुशंसा करता हूं कि आप Verimail.js उपयोग Verimail.js

क्यूं कर?

  • सिंटेक्स सत्यापन (आरएफसी 822 के अनुसार)।
  • आईएएनए टीएलडी सत्यापन
  • सबसे आम टीएलडी और ईमेल डोमेन के लिए वर्तनी सुझाव
  • Mailinator.com जैसे अस्थायी ईमेल खाता डोमेन से इनकार करें
  • jQuery प्लगइन समर्थन

Verimail.js के साथ एक और बड़ी बात यह है कि इसमें सबसे आम ईमेल डोमेन और पंजीकृत टीएलडी के लिए वर्तनी सुझाव है। यह उन उपयोगकर्ताओं के लिए आपकी उछाल दर को कम कर सकता है जो सामान्य डोमेन नाम जैसे gmail.com, hotmail.com, aol.com, aso को गलत वर्तनी देते हैं ..

उदाहरण:

इसका इस्तेमाल कैसे करें?

अपने पृष्ठ पर verimail.jquery.js को डाउनलोड और शामिल करना सबसे आसान तरीका है। उसके बाद, इनपुट-बॉक्स पर निम्न फ़ंक्शन चलाकर हुकअप वेरिमेल को सत्यापन की आवश्यकता है:

$("input#email-address").verimail({
    messageElement: "p#status-message"
});

संदेश तत्व एक वैकल्पिक तत्व है जो "अमान्य ईमेल .." या "क्या आपका मतलब [email protected]" जैसा संदेश प्रदर्शित करता है? यदि आपके पास कोई फॉर्म है और ईमेल सत्यापित होने पर ही आगे बढ़ना है, तो आप नीचे दिखाए गए फ़ंक्शन getVerimailStatus का उपयोग कर सकते हैं:

if($("input#email-address").getVerimailStatus() < 0){
    // Invalid email
}else{
    // Valid email
}

GetVerimailStatus-function ऑब्जेक्ट के अनुसार एक पूर्णांक कोड देता है Comfirm.AlphaMail.Verimail.Status। जैसा कि ऊपर दिखाया गया है, यदि स्थिति ऋणात्मक पूर्णांक मान है, तो सत्यापन को विफलता के रूप में माना जाना चाहिए। लेकिन यदि मान 0 से अधिक या बराबर है, तो सत्यापन को सफलता के रूप में माना जाना चाहिए।




पार्टी के लिए बहुत देर हो चुकी है, लेकिन यहां कुछ भी नहीं है ...

function isEmailValid(emailAdress) {
    var EMAIL_REGEXP = new RegExp('^[a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,15})$', 'i');
    return EMAIL_REGEXP.test(emailAdress)
}

http://jsfiddle.net/yrshaikh/xvd6H/




आप इसे filter विधि के साथ आसानी से कर सकते हैं:

function remove(arrOriginal, elementToRemove){
    return arrOriginal.filter(function(el){return el !== elementToRemove});
}
console.log( remove([1, 2, 1, 0, 3, 1, 4], 1) );

यह सरणी से सभी तत्वों को हटा देता है और स्लाइस और इंडेक्स के संयोजन के बाद तेज़ी से काम करता है







javascript regex