关于regex:javascript验证电子邮件ID

JavaScript Validation for Email Id

本问题已经有最佳答案,请猛点这里访问。

复制品:

Validate email address in JavaScript?

我想使用javascript验证emailid。我使用以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
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.
 Please type the proper email address and try again."
)
        return false
  }
}

此代码适用于[email protected]等电子邮件

但当我输入有效的mailid时,如ab.cd@xy z.com或[email protected],它会显示警报。我应该在编码中做些什么更改,这样它就不会像上面那样显示有效邮件ID的警报?有人能给我建议吗?


http://regexlib.com/search.aspx?K=&C=1&M=3&PS=50

用最适合你的。


很好的信息,有很多例子:

网址:http://www.regular-expressions.info/email.html

btw:+是有效字符,我讨厌在验证程序中不能输入[email protected](因为gmail支持此功能)


我尝试将正则表达式改为:

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])