Я новичок в JavaScript и нашел этот код JavaScript в Интернете, который не проверяет данную электронную почту (не проблема с кодом) -понимание проверки электронной почты с помощью 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>
У меня нет никаких проблем с кодом, но Я почему-то не понял, что означает регулярное выражение /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
. Я не понимаю, что означает каждая часть регулярного выражения. Пожалуйста, просветите меня.
Вы считаете, что это сбивает с толку ... попробуйте следующее: http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html. Проверка электронной почты с регулярным выражением сложна ... см. Http://programmers.stackexchange.com/questions/78353/how-far-should-one-take-e-mail-address-validation –