JavaScript验证电子邮件地址

4

重复:

如何在JavaScript中验证电子邮件地址?

我想使用JavaScript验证电子邮件地址。 我正在使用以下代码:

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 这样的电子邮件地址。

但是当我输入有效的邮件地址,例如 ab.cd@xyz.com 或 abc@xy-z.com 时,它会显示警报。 我应该在我的编码中做哪些修改,以便不会为上述有效的邮件ID显示警报?有人能给我建议吗?

3个回答

3

这里有很多例子的有用信息:

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

顺便说一下:+ 是一个有效的字符,我讨厌那些不能输入 myemail+somenote@gmail.com 的验证器(因为 gmail 支持此功能)。


3

2
我建议您将正则表达式更改为以下内容:

[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接