2011-12-06 12 views
8

मेरे पास उपयोगकर्ताओं के लिए अपना ई-मेल पता लिखने का एक क्षेत्र है। यह वैकल्पिक है, इसलिए मुझे पहले जांचना होगा कि फ़ील्ड में कुछ दर्ज किया गया था, अगर कुछ भी दर्ज नहीं किया गया था कुछ भी नहीं, लेकिन अगर यह जांचने से कुछ दर्ज किया गया है कि यह एक ई-मेल है।जांचें कि सही ई-मेल दर्ज किया गया था

अभी मैं इस बिंदु

var email = $("input#sc_email").val(); 
if (email == "") {     
    // If e-mail field is empty do nothing 
} else {       
    // If something was entered 
    // [CODE HERE] Check if valid e-mail was entered, if not show error message 
    $("label#email_error").show(); //error message 
    $("input#sc_email").focus(); //focus on email field 
    return false; 
} 

में हूँ मैं भी है कि अगर सही है यकीन नहीं है, लेकिन मुझे लगता है कि यह है। अभी मुझे कोड में अंतराल के साथ मदद की ज़रूरत है, मैंने उन्हें [CODE HERE] के रूप में चिह्नित किया है। क्या कोई भी समाधान का सुझाव दे सकता है।

+0

[जावास्क्रिप्ट में मान्य ईमेल पता सत्यापित करें] के संभावित डुप्लिकेट? (http://stackoverflow.com/questions/46155/validate-email-address-in-javascript) –

+0

संभावित डुप्लिकेट [जावास्क्रिप्ट में मान्य ईमेल पता?] (Http://stackoverflow.co एम/प्रश्न/46155/मान्य-ईमेल-पता-इन-जावास्क्रिप्ट) – Flummox

उत्तर

17

आप इसके लिए jQuery validate plugin का उपयोग कर सकते हैं, लेकिन यदि आप केवल एक फ़ील्ड में एक ईमेल पते की वैधता जांचना चाहते हैं, तो यह थोड़ा अधिक है।

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

var email = $("input#sc_email").val(); 

if (email !== "") { // If something was entered 
    if (!isValidEmailAddress(email)) { 
     $("label#email_error").show(); //error message 
     $("input#sc_email").focus(); //focus on email field 
     return false; 
    } 
} 

function isValidEmailAddress(emailAddress) { 
    var pattern = new RegExp(/^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i); 
    return pattern.test(emailAddress); 
}; 
+0

यह स्ट्रिंग के प्रारूप की जांच के लिए एक नियमित अभिव्यक्ति (http://en.wikipedia.org/wiki/Regular_expression) का उपयोग करता है। यह एक बूलियन देता है कि क्या स्ट्रिंग एक ईमेल पते (http://www.ietf.org/rfc/rfc5322.txt) के लिए आरएफसी मानक प्रारूप से मेल खाती है। –

+0

याप ने इसका परीक्षण किया, पूरी तरह से आपको धन्यवाद देता है))) जवाब को स्वीकार करने के लिए बस प्रतीक्षा करने की आवश्यकता है)) – Ilja

+0

कोई चिंता नहीं, मदद करने में खुशी हुई। –

2

आप जावास्क्रिप्ट में ईमेल पते को सत्यापित करने के लिए नियमित अभिव्यक्तियों का उपयोग कर सकते हैं।

function validateEmail(email) { 
    var re = /^(([^<>()[\]\\.,;:\[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,}))$/; 
    return re.test(email); 
} 

हालांकि, यह केवल मान्य होगा कि यह एक मान्य ईमेल पता स्वरूपित स्ट्रिंग है। [email protected]मान्य होगा, भले ही किसी के पास वास्तव में कोई ईमेल पता न हो।

this question पर एक नज़र डालें।

1

मैं दोनों ग्राहक के पक्ष में और सर्वर साइड पर मान्यता की सिफारिश करेंगे तो आप बस इस कोड का उपयोग कर सकता है,:, क्लिक लिंक-मेल भेजने की तरह,

alert(/\[email protected]\S+\.\S+/.test('[email protected]@asdd.com')); 
alert(/\[email protected]\S+\.\S+/.test('[email protected]')); 

लेकिन महत्वपूर्ण बात, उपयोग सर्वर साइड सत्यापन और पद्धति अपने ग्राहक ईमेल पते या मेलिंग यादृच्छिक संख्या आदि को सत्यापित करने के लिए

संबंधित मुद्दे