我想使用JavaScript验证emailid。我使用以下代码:
var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/ ;
var emailid=document.getElementById("<%=txtEmail.ClientID %>").value;
var matchArray = emailid.match(emailPat);
if (txtemail.value!="")
{
if (matchArray == null)
{
alert("Your email address seems to be incorrect. \n Please type the proper email address and try again.")
return false
}
}
此代码适用于电子邮件,例如abc@xyz.com
但是当我输入有效的mailid如ab.cd@xyz.com或abc@xy-z.com时,它会显示警告。 我应该在编码中做些什么更改,因此它不会显示上述有效邮件ID的警报?谁能给我建议?
答案 0 :(得分:2)
许多例子的好消息:
http://www.regular-expressions.info/email.html
btw:+是有效字符,我讨厌验证者,我无法输入myemail+somenote@gmail.com(因为gmail支持这个)
答案 1 :(得分:2)
答案 2 :(得分:1)
我会尝试将正则表达式更改为:
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])