संभावित डुप्लिकेट:
ईमेल पतों को मान्य करने के लिए सबसे अच्छी नियमित अभिव्यक्ति क्या है?
नमस्ते,
ईमेल पता मान्य करने के लिए मेरे पास यह 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()
और जो भी वापसी मूल्य आपको मिलता है वह ईमेल की वैधता है!
चीयर्स! : डी