Sono nuovo di Javascript e trovato questo codice JavaScript in internet che convalida il dato e-mail (nessun problema con il codice) -convalida email comprensione utilizzando JavaScript
<html>
<h2>Email Validation</h2>
<script language = "Javascript">
function checkEmail(emailId) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailId)){
document.write("You have entered valid email.");
return true;
}
return false;
}
function ValidateEmail(){
var emailID=document.form.email;
if ((emailID.value==null)||(emailID.value=="")){
alert("Please Enter your Email ID")
emailID.focus()
return false
}
if (checkEmail(emailID.value)==false){
emailID.value=""
alert("Invalid Email Adderess");
emailID.focus()
return false
}
alert('valid');
return true
}
</script>
<form name="form" method="post" onSubmit="return ValidateEmail()">
Enter an Email Address : <input type="text" name="email" size="30"><br>
<input type="submit" name="Submit" value="Submit">
</form>
</html>
Non ho problemi con il codice, ma In qualche modo non sono riuscito a capire cosa significa l'espressione regolare /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
. Non capisco cosa significhi ciascuna parte della espressione regolare. Per favore, illuminami.
Pensi che sia confuso ... prova questo: http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html. Convalidare un'e-mail con un'espressione regolare è difficile ... vedi: http://programmers.stackexchange.com/questions/78353/how-far-should-one-take-e-mail-address-validation –