/ / जावास्क्रिप्ट ईमेल सत्यापन सही ढंग से काम नहीं कर रहा है, मदद? [डुप्लिकेट] - जावास्क्रिप्ट, regex

जावास्क्रिप्ट ईमेल सत्यापन सही ढंग से काम नहीं कर रहा है, मदद? [डुप्लिकेट] - जावास्क्रिप्ट, regex

संभावित डुप्लिकेट:
ईमेल पतों को मान्य करने के लिए सबसे अच्छी नियमित अभिव्यक्ति क्या है?

नमस्ते,

ईमेल पता मान्य करने के लिए मेरे पास यह regex / कोड है:

var testEmail = /^([A-Za-z0-9_-.])+@([A-Za-z0-9_-.])+.([A-Za-z]{2,4})$/;

if ( testEmail.test(oForm["email"]) == false){
chErrorMessage += "nValid email address";
bSubmit = false;
}

कोड सही ढंग से परीक्षण कर रहा प्रतीत नहीं होता है, चाहे ईमेल सही ढंग से स्वरूपित हो या नहीं।

मैं जावास्क्रिप्ट पर एक शुरुआत कर रहा हूँ। किसी भी मदद की बहुत सराहना की जाएगी, धन्यवाद

उत्तर:

उत्तर № 1 के लिए 1

सबसे पहले, मैं इस तरह से फार्म का इनपुट ऑब्जेक्ट प्राप्त करता हूं

document.oForm["email"]

के बजाय

oForm["email"]

फिर, आपको इनपुट का मूल्य मिलना चाहिए, न कि इनपुट का:

document.oForm["email"].value

इसके अलावा, आप सशर्त कोड निष्पादित करना चाहते हैं यदि परिणाम है true, नहीं false, इसलिए शर्त यह होनी चाहिए:

testEmail.test(document.oForm["email"].value) == true

लेकिन बूलियन मूल्य की तुलना करना बहुत सुरुचिपूर्ण नहीं है true या false, चूंकि तुलनात्मक मूल्य ही शर्त के रूप में उपयोग करने के लिए पर्याप्त है:

if (testEmail.test(document.oForm["email"].value)) {
// ...
}

इन परिवर्तनों के बाद आपके कोड ने मेरे लिए काम किया। तथापि, मैं JQuery के साथ समाधान का उपयोग करेगा क्योंकि यहई-मेल के बारे में आपके रेगेक्स की अनदेखी करने वाले सभी अनंत विवरणों का ध्यान रखेंगे। OTOH, मुझे आशा है कि आपको इस बात की बेहतर समझ है कि कैसे जावास्क्रिप्ट वैसे भी जावास्क्रिप्ट में काम करते हैं।

HTH


जवाब के लिए 2 № 2

मैं इसके लिए jQuery सत्यापन प्लग इन का उपयोग करता हूं: http://docs.jquery.com/Plugins/validation

यह ईमेल पते के सत्यापन का समर्थन करता है।


जवाब के लिए 0 № 3

इस कोड को आज़माएं: -

/**
* DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
*/

function echeck(str) {

var at="@"
var dot="."
var lat=str.indexOf(at)
var lstr=str.length
var ldot=str.indexOf(dot)
if (str.indexOf(at)==-1){
return false
}

if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
return false
}

if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
return false
}

if (str.indexOf(at,(lat+1))!=-1){
return false
}

if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
return false
}

if (str.indexOf(dot,(lat+2))==-1){
return false
}

if (str.indexOf(" ")!=-1){
return false
}

return true
}

function ValidateForm(){
return echeck(document.oForm["email"].value);
}

और अंत में बस कॉल करें ValidateForm() और जो भी वापसी मूल्य आपको मिलता है वह ईमेल की वैधता है!

चीयर्स! : डी