我的电子邮件正则表达式有什么问题?

时间:2016-04-21 10:29:26

标签: javascript regex email-validation

我有以下正则表达式:

var emailRegex = "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"

当我尝试输入时:

asd@asd

匹配。为什么呢?

2 个答案:

答案 0 :(得分:2)

电子邮件服务不必连接到任何域。 以下电子邮件都是正确的:

  • cezary @本地
  • cezary@192.168.1.100
  • cezary @域
  • cezary @ COM

在“有效的电子邮件地址”下查看更多内容:https://en.wikipedia.org/wiki/Email_address

因此,如果您只想允许公开发送电子邮件,请尝试其他正则表达式: - )

答案 1 :(得分:-3)

Validate email address in JavaScript?回答你的问题 试试这个:



function validateEmail(email) {
    var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
}
alert(validateEmail("test@gmail.com"));
&#13;
&#13;
&#13;