जवाबों:
आप उसके लिए नियमित पुरानी जावास्क्रिप्ट का उपयोग कर सकते हैं:
function isEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
करने के var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,6})+$/;
लिए बदलना चाहिए
ईमेल को मान्य करने के लिए jQuery फंक्शन
मुझे वास्तव में प्लगइन्स का उपयोग करना पसंद नहीं है, खासकर जब मेरे फॉर्म में केवल एक फ़ील्ड है जिसे मान्य करने की आवश्यकता है। मैं इस फ़ंक्शन का उपयोग करता हूं और जब भी मुझे ईमेल फॉर्म फ़ील्ड को मान्य करने की आवश्यकता होती है, तब इसे कॉल करता हूं।
function validateEmail($email) {
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
return emailReg.test( $email );
}
और अब इस का उपयोग करने के लिए
if( !validateEmail(emailaddress)) { /* do stuff here */ }
चीयर्स!
emailReg.test($email);
emailReg.text("")
true
। मैं बस ईमेल की घोषणा के लिए नीचे काम करता हूँ फिर भी इस var:return ( $email.length > 0 && emailReg.test($email))
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
करने के लिएvar emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
मैं कुछ कारणों के लिए jQuery सत्यापन प्लगइन का उपयोग करेगा ।
आपने मान्य किया, ठीक है महान, अब क्या? आपको त्रुटि प्रदर्शित करने की आवश्यकता है, जब यह वैध है, तो इसे मिटा दें, यह दिखाते हुए कि कुल कितनी त्रुटियां हैं? बहुत सी चीजें हैं जो आपके लिए संभाल सकती हैं, पहिया को फिर से आविष्कार करने की आवश्यकता नहीं है।
इसके अलावा, इसका एक और बड़ा लाभ यह है कि इसे CDN पर होस्ट किया जाता है, इस उत्तर के वर्तमान संस्करण को यहां पाया जा सकता है: http://www.asp.net/ajaxLibrary/CDNjQueryValidate16.ashx इसका मतलब है कि क्लाइंट के लिए यह लोड का तेज समय है।
पर देखो http: //bassistance.de/jquery-plugins/jquery-plugin-validation/ । यह अच्छा jQuery प्लगइन है, जो रूपों के लिए शक्तिशाली सत्यापन प्रणाली बनाने की अनुमति देता है। यहाँ कुछ उपयोगी नमूने हैं । तो, प्रपत्र में ईमेल फ़ील्ड सत्यापन ऐसा दिखेगा:
$("#myform").validate({
rules: {
field: {
required: true,
email: true
}
}
});
विवरण और नमूनों के लिए ईमेल विधि प्रलेखन देखें ।
x@x
(अजीब है) यह x@x.x
मुझे कैसे तय कर सकता है?
$.validator.methods.email = function( value, element ) { return this.optional( element ) || //^.+@.+\..+$/.test( value ); }
<script type="text/javascript">
$(document).ready(function() {
$('.form_error').hide();
$('#submit').click(function(){
var name = $('#name').val();
var email = $('#email').val();
var phone = $('#phone').val();
var message = $('#message').val();
if(name== ''){
$('#name').next().show();
return false;
}
if(email== ''){
$('#email').next().show();
return false;
}
if(IsEmail(email)==false){
$('#invalid_email').show();
return false;
}
if(phone== ''){
$('#phone').next().show();
return false;
}
if(message== ''){
$('#message').next().show();
return false;
}
//ajax call php page
$.post("send.php", $("#contactform").serialize(), function(response) {
$('#contactform').fadeOut('slow',function(){
$('#success').html(response);
$('#success').fadeIn('slow');
});
});
return false;
});
});
function IsEmail(email) {
var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if(!regex.test(email)) {
return false;
}else{
return true;
}
}
</script>
<form action="" method="post" id="contactform">
<table class="contact-table">
<tr>
<td><label for="name">Name :</label></td>
<td class="name"> <input name="name" id="name" type="text" placeholder="Please enter your name" class="contact-input"><span class="form_error">Please enter your name</span></td>
</tr>
<tr>
<td><label for="email">Email :</label></td>
<td class="email"><input name="email" id="email" type="text" placeholder="Please enter your email" class="contact-input"><span class="form_error">Please enter your email</span>
<span class="form_error" id="invalid_email">This email is not valid</span></td>
</tr>
<tr>
<td><label for="phone">Phone :</label></td>
<td class="phone"><input name="phone" id="phone" type="text" placeholder="Please enter your phone" class="contact-input"><span class="form_error">Please enter your phone</span></td>
</tr>
<tr>
<td><label for="message">Message :</label></td>
<td class="message"><textarea name="message" id="message" class="contact-input"></textarea><span class="form_error">Please enter your message</span></td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" class="contactform-buttons" id="submit"value="Send" />
<input type="reset" class="contactform-buttons" id="" value="Clear" />
</td>
</tr>
</table>
</form>
<div id="success" style="color:red;"></div>
<!-- Dont forget to include the jQuery library here -->
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#validate").keyup(function(){
var email = $("#validate").val();
if(email != 0)
{
if(isValidEmailAddress(email))
{
$("#validEmail").css({
"background-image": "url('validYes.png')"
});
} else {
$("#validEmail").css({
"background-image": "url('validNo.png')"
});
}
} else {
$("#validEmail").css({
"background-image": "none"
});
}
});
});
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][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
}
</script>
<style>
#validEmail
{
margin-top: 4px;
margin-left: 9px;
position: absolute;
width: 16px;
height: 16px;
}
.text
{
font-family: Arial, Tahoma, Helvetica;
}
</style>
<title>Live Email Validation with jQuery Demo</title>
</head>
<body>
<div class="text"><h1>Reynoldsftw.com - Live Email Validation</h1><h2>Type in an email address in the box below:</h2></div>
<div><input type="text" id="validate" width="30"><span id="validEmail"></span></div>
<div class="text"><P>More script and css style
स्रोत: htmldrive.com
मैं Verimail.js की सिफारिश करूंगा , इसमें JQuery प्लगइन भी है ।
क्यों? वेरीमेल निम्नलिखित का समर्थन करता है:
इसलिए सत्यापन के अलावा, Verimail.js आपको सुझाव भी देता है। इसलिए यदि आप गलत TLD या डोमेन के साथ एक ईमेल टाइप करते हैं, जो एक सामान्य ईमेल डोमेन (hotmail.com, gmail.com, आदि) से बहुत मिलता-जुलता है, तो यह इसका पता लगा सकता है और सुधार का सुझाव दे सकता है।
उदाहरण:
और इसी तरह..
JQuery के साथ इसका उपयोग करने के लिए, बस अपनी साइट पर verimail.jquery.js शामिल करें और नीचे दिए गए फ़ंक्शन को चलाएं:
$("input#email-address").verimail({
messageElement: "p#status-message"
});
संदेश तत्व एक तत्व है जिसमें एक संदेश दिखाया जाएगा। यह "आपका ईमेल अमान्य है" से "क्या आपका मतलब है ..."?
यदि आपके पास एक फ़ॉर्म है और इसे प्रतिबंधित करना चाहते हैं ताकि इसे तब तक प्रस्तुत नहीं किया जा सके जब तक कि ईमेल वैध न हो, तो आप getVerimailStatus-function का उपयोग करके स्थिति की जांच कर सकते हैं जैसा कि नीचे दिखाया गया है:
if($("input#email-address").getVerimailStatus() < 0){
// Invalid
}else{
// Valid
}
यह फ़ंक्शन ऑब्जेक्ट Comfirm.AlphaMail.Verimail.Status के अनुसार पूर्णांक स्थिति कोड देता है। लेकिन अंगूठे का सामान्य नियम यह है कि 0 से नीचे का कोई भी कोड त्रुटियों का संकेत देने वाला कोड है।
.getVerimailStatus()
संख्यात्मक स्थिति कोड वापस नहीं करता है, बस एक स्ट्रिंग मान success
, error
या संभवतः pending
(पिछले एक को सत्यापित नहीं किया है)।
function isValidEmailAddress(emailAddress) {
var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i;
return pattern.test(emailAddress);
};
if( !isValidEmailAddress( emailaddress ) ) { /* do stuff here (email is invalid) */ }
इस उपयोगकर्ता द्वारा प्रदान की गई थी लुका Filosofi इस जवाब में यह उत्तर
@
किसी अन्य @
वर्ण के साथ वर्ण से बचना न भूलें । जैसे @@
, अन्यथा आपको बिल्ड एरर मिलेगा।
Html5 सत्यापन का उपयोग करने के लिए एक बहुत ही सरल उपाय है:
<form>
<input type="email" required pattern="[^@]+@[^@]+\.[a-zA-Z]{2,6}">
<input type="submit">
</form>
यह अधिक गहन सत्यापन करता है, उदाहरण के लिए यह उपयोगकर्ता के क्रमिक डॉट्स जैसे john..doe @ example.com के खिलाफ जाँच करता है
function isValidEmail(email)
{
return /^[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,4}$/.test(email)
&& /^(?=.{1,64}@.{4,64}$)(?=.{6,100}$).*/.test(email);
}
जावास्क्रिप्ट में नियमित अभिव्यक्ति का उपयोग करके मान्य ईमेल पता देखें ।
जैसा कि दूसरों ने उल्लेख किया है कि आप यह पता लगाने के लिए कि क्या ईमेल पता एक पैटर्न से मेल खाता है, एक रेगेक्स का उपयोग कर सकता है। लेकिन आपके पास अभी भी ईमेल हो सकते हैं जो पैटर्न से मेल खाते हैं लेकिन मेरा अभी भी उछाल या नकली स्पैम ईमेल हैं।
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
आप एक एपीआई का उपयोग कर सकते हैं जो यह जांच करेगा कि ईमेल पता वास्तविक है और वर्तमान में सक्रिय है।
var emailAddress = "foo@bar.com"
response = $.get("https://isitarealemail.com/api/email/validate?email=" +
emailAddress,
function responseHandler(data) {
if (data.status === 'valid') {
// the email is valid and the mail box is active
} else {
// the email is incorrect or unable to be tested.
}
})
अधिक जानकारी के लिए https://isitarealemail.com या ब्लॉग पोस्ट देखें
यदि आपके पास मूल रूप है, तो बस इनपुट प्रकार का ईमेल बनाएं:
<input type="email" required>
यह उन ब्राउज़र के लिए काम करेगा जो एचटीएमएल 5 विशेषताओं का उपयोग करते हैं और फिर आपको जेएस की भी आवश्यकता नहीं है। ऊपर दी गई कुछ लिपियों के साथ भी केवल ईमेल सत्यापन का उपयोग करने से बहुत कुछ नहीं होगा:
some@email.com so@em.co my@fakemail.net
आदि ... क्या सभी "वास्तविक" ईमेल के रूप में मान्य होंगे। इसलिए आपको यह सुनिश्चित करना बेहतर होगा कि उपयोगकर्ता को यह सुनिश्चित करने के लिए दो बार अपना ईमेल पता दर्ज करना होगा कि वे एक ही डालते हैं; लेकिन यह गारंटी देने के लिए कि ईमेल पता वास्तविक है बहुत मुश्किल है, लेकिन यह देखना दिलचस्प है कि क्या वहाँ था? मार्ग। लेकिन अगर आप यह सुनिश्चित कर रहे हैं कि यह एक ईमेल है, तो HTML5 इनपुट से चिपके रहें।
यह फायरफॉक्स और क्रोम में काम करता है। यह इंटरनेट एक्सप्लोरर में काम नहीं कर सकता है ... लेकिन इंटरनेट एक्सप्लोरर बेकार है। तो फिर वहाँ है कि ...
फैबियन के उत्तर का उपयोग करते समय मुझे जो समस्या आई, वह रेजर @
प्रतीक के कारण एमवीसी के दृष्टिकोण में इसे लागू कर रही है । आपको @
इसे बचने के लिए एक अतिरिक्त प्रतीक शामिल करना होगा, जैसे:@@
function isEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
मैंने इसे इस पृष्ठ पर अन्यत्र नहीं देखा, इसलिए मुझे लगा कि यह सहायक हो सकता है।
यहाँ Microsoft का एक लिंक दिया गया है जो यह बताता है कि यह उपयोग है।
मैंने अभी ऊपर दिए गए कोड का परीक्षण किया और निम्नलिखित js प्राप्त किए:
function validateEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
जो ठीक वही कर रहा है जो उसे करना चाहिए था।
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
आपके कोड में क्या हो रहा है?
@
प्रतीक को एक रेगीक्स में उत्पन्न करता है .cshtml
। आम तौर पर यह @
रेजर कोड के रूप में प्रतीक के बाद सब कुछ का इलाज करने की कोशिश करेगा , लेकिन डबल @@
उस को रोकता है।
function isValidEmail(emailText) {
var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
return pattern.test(emailText);
};
इस तरह का उपयोग करें:
if( !isValidEmail(myEmail) ) { /* do things if myEmail is valid. */ }
<script type = "text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type = "text/javascript">
function ValidateEmail(email) {
var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
return expr.test(email);
};
$("#btnValidate").live("click", function () {
if (!ValidateEmail($("#txtEmail").val())) {
alert("Invalid email address.");
}
else {
alert("Valid email address.");
}
});
</script>
<input type = "text" id = "txtEmail" />
<input type = "button" id = "btnValidate" value = "Validate" />
यहाँ उतरा ..... यहाँ समाप्त हुआ: https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address
... जो निम्नलिखित regex प्रदान करता है:
/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/
... जो मुझे jQuery मान्यकरण प्लगइन readme पर एक नोट के लिए धन्यवाद मिला: https://github.com/jzaefferer/jquery-validation/blob/master/README.md#reporting-an-issue
तो, @Fabian के उत्तर का अद्यतन संस्करण होगा:
function IsEmail(email) {
var regex = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
return regex.test(email);
}
उम्मीद है की वो मदद करदे
john..doe@example.com
लेकिन इस तरह से झूठा होना चाहता था
इसे इस्तेमाल करो
if ($this.hasClass('tb-email')) {
var email = $this.val();
var txt = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!txt.test(email)) {
e.preventDefault();
$this.addClass('error');
} else {
$this.removeClass('error');
}
}
बग Jquery सत्यापन मान्यकरण प्लगिन में है केवल इसे बदलने के लिए @ के साथ मान्य करता है
इसमें कोड बदलें
email: function( value, element ) {
// From http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#e-mail-state-%28type=email%29
// Retrieved 2014-01-14
// If you have a problem with this implementation, report a bug against the above spec
// Or use custom methods to implement your own email validation
return this.optional( element ) || /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test( value );
}
थोजो के लिए जो एक बेहतर रख-रखाव का उपयोग करना चाहते हैंविघटनकारी हल्के-लंबे RegEx मैचों की तुलना में समाधान , मैंने कोड की कुछ पंक्तियां लिखीं। Thoose जो बाइट्स बचाना चाहते हैं, RegEx वेरिएंट से चिपके रहते हैं :)
यह प्रतिबंधित करता है:
वैसे भी, अभी भी इसके माध्यम से लीक करना संभव है, इसलिए सुनिश्चित करें कि आप इसे सर्वर-साइड सत्यापन + ईमेल-लिंक सत्यापन के साथ जोड़ते हैं।
यहाँ JSFiddle है
//validate email
var emailInput = $("#email").val(),
emailParts = emailInput.split('@'),
text = 'Enter a valid e-mail address!';
//at least one @, catches error
if (emailParts[1] == null || emailParts[1] == "" || emailParts[1] == undefined) {
yourErrorFunc(text);
} else {
//split domain, subdomain and tld if existent
var emailDomainParts = emailParts[1].split('.');
//at least one . (dot), catches error
if (emailDomainParts[1] == null || emailDomainParts[1] == "" || emailDomainParts[1] == undefined) {
yourErrorFunc(text);
} else {
//more than 2 . (dots) in emailParts[1]
if (!emailDomainParts[3] == null || !emailDomainParts[3] == "" || !emailDomainParts[3] == undefined) {
yourErrorFunc(text);
} else {
//email user
if (/[^a-z0-9!#$%&'*+-/=?^_`{|}~]/i.test(emailParts[0])) {
yourErrorFunc(text);
} else {
//double @
if (!emailParts[2] == null || !emailParts[2] == "" || !emailParts[2] == undefined) {
yourErrorFunc(text);
} else {
//domain
if (/[^a-z0-9-]/i.test(emailDomainParts[0])) {
yourErrorFunc(text);
} else {
//check for subdomain
if (emailDomainParts[2] == null || emailDomainParts[2] == "" || emailDomainParts[2] == undefined) {
//TLD
if (/[^a-z]/i.test(emailDomainParts[1])) {
yourErrorFunc(text);
} else {
yourPassedFunc();
}
} else {
//subdomain
if (/[^a-z0-9-]/i.test(emailDomainParts[1])) {
yourErrorFunc(text);
} else {
//TLD
if (/[^a-z]/i.test(emailDomainParts[2])) {
yourErrorFunc(text);
} else {
yourPassedFunc();
}}}}}}}}}
आप jQuery सत्यापन का उपयोग कर सकते हैं और, एक एकल HTML लाइन में, आप ईमेल और ईमेल सत्यापन संदेश को मान्य कर सकते हैं:type="email" required data-msg-email="Enter a valid email account!"
आप व्यक्तिगत संदेश रखने के लिए डेटा-एमएसएन-ईमेल पैरामीटर का उपयोग कर सकते हैं या अन्यथा इस पैरामीटर को न रखें और डिफ़ॉल्ट संदेश प्रदर्शित किया जाएगा: "कृपया एक वैध ईमेल पता दर्ज करें।"
पूर्ण उदाहरण:
<form class="cmxform" id="commentForm" method="get" action="">
<fieldset>
<p>
<label for="cemail">E-Mail (required)</label>
<input id="cemail" type="email" name="email" required data-msg-email="Enter a valid email account!">
</p>
<p>
<input class="submit" type="submit" value="Submit">
</p>
</fieldset>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/jquery-validation@1.17.0/dist/jquery.validate.js"></script>
<script>
$("#commentForm").validate();
</script>
if($("input#email-address").getVerimailStatus() < 0) {
(incorrect code)
}
if($("input#email-address").getVerimailStatus() == 'error') {
(right code)
}
checkRegexp( email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. ui@jquery.com" );
रेफ़रेंस: JQUERY UI WEBSITE
आपको यह देखना चाहिए: jquery.validate.js , इसे अपनी परियोजना में जोड़ें
इसे इस तरह से उपयोग करना:
<input id='email' name='email' class='required email'/>
एक और सरल और पूर्ण विकल्प:
<input type="text" id="Email"/>
<div id="ClasSpan"></div>
<input id="ValidMail" type="submit" value="Valid"/>
function IsEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
$("#ValidMail").click(function () {
$('span', '#ClasSpan').empty().remove();
if (IsEmail($("#Email").val())) {
//aqui mi sentencia
}
else {
$('#ClasSpan').append('<span>Please enter a valid email</span>');
$('#Email').keypress(function () {
$('span', '#itemspan').empty().remove();
});
}
});
आप अपना खुद का फंक्शन बना सकते हैं
function emailValidate(email){
var check = "" + email;
if((check.search('@')>=0)&&(check.search(/\./)>=0))
if(check.search('@')<check.split('@')[1].search(/\./)+check.search('@')) return true;
else return false;
else return false;
}
alert(emailValidate('your.email@yahoo.com'));
एक सरलीकृत जो मैंने अभी बनाया है, वही करता है जो मुझे इसकी आवश्यकता है। इसे केवल अल्फ़ान्यूमेरिक, अवधि, अंडरस्कोर और @ तक सीमित कर दिया है।
<input onKeyUp="testEmailChars(this);"><span id="a"></span>
function testEmailChars(el){
var email = $(el).val();
if ( /^[a-zA-Z0-9_@.-]+$/.test(email)==true ){
$("#a").html("valid");
} else {
$("#a").html("not valid");
}
}
दूसरों की मदद से बनाया गया
यह regexp डुप्लिकेट डोमेन नाम जैसे abc@abc.com.com.com को रोकता है, यह केवल दो बार abc@abc.co.in जैसे डोमेन की अनुमति देगा। यह 123abc@abc.com जैसे नंबर से स्टेटिंग की भी अनुमति नहीं देता है
regexp: /^([a-zA-Z])+([a-zA-Z0-9_.+-])+\@(([a-zA-Z])+\.+?(com|co|in|org|net|edu|info|gov|vekomy))\.?(com|co|in|org|net|edu|info|gov)?$/,
शुभकामनाएं !!!!!
टाइप करते समय ईमेल को मान्य करें, बटन स्टेट हैंडलिंग के साथ।
$("#email").on("input", function(){
var email = $("#email").val();
var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (!filter.test(email)) {
$(".invalid-email:empty").append("Invalid Email Address");
$("#submit").attr("disabled", true);
} else {
$("#submit").attr("disabled", false);
$(".invalid-email").empty();
}
});
यदि आप jquery सत्यापन का उपयोग कर रहे हैं
मैंने एक तरीका बनाया है emailCustomFormat
जो regex
मेरे कस्टर्ड प्रारूप के लिए उपयोग किया जाता है आप इसे अपनी आवश्यकताओं को पूरा करने के लिए बदल सकते हैं
jQuery.validator.addMethod("emailCustomFormat", function (value, element) {
return this.optional(element) || /^([\w-\.]+@@([\w-]+\.)+[\w-]{2,4})?$/.test(value);
}, abp.localization.localize("FormValidationMessageEmail"));// localized message based on current language
तो आप इसे इस तरह से उपयोग कर सकते हैं
$("#myform").validate({
rules: {
field: {
required: true,
emailCustomFormat : true
}
}
});
इस रेगेक्स स्वीकार करते हैं
abc@abc.abc
, abc@abc.abcd
लेकिन यह नहीं
abc@abc
, abc@abc.a
,abc@abc.abcde
आशा है कि यह आपकी मदद करता है