【发布时间】:2014-05-08 14:30:40
【问题描述】:
我一直在寻找一个好的正则表达式来验证电子邮件,但对于我发现的大多数人来说,我看到人们评论说正则表达式已经过时,或者它不起作用......所以我希望有人可以帮助我解决目前对所有电子邮件都有效的电子邮件验证正则表达式...
这是我目前的情况:我看到有人说 emailReg2 已过时并产生误报,但没有看到任何关于 emailReg1 已过时的信息。
var emailReg1 = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,6})?$/;
var emailReg2 = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
function IsEmail(email) {
var regex = //which regex do I put here?
return regex.test(email);
}
非常感谢任何澄清。谢谢!
【问题讨论】:
-
@PedroLobito 我做了...有人编辑了问题说我没有搜索...这实际上有点令人沮丧...我记得我在开头特别说过
I have been searching for some time... -
我回滚了你的问题,它仍然无法解释为什么这个问题不像你的stackoverflow.com/questions/46155/…
-
@PedroLobito 这是一个 5 年前的问题,答案中的第一条评论是:
This regex eliminates valid, in-use emails. Do not use. Google for "RFC822" or "RFC2822" to get a proper regex. -
答案同样有效。更不用说电子邮件地址并没有太大变化。
-
@Adjit 还注意到“bogus@nonexistant.com”是一个有效的电子邮件地址。
标签: javascript jquery regex validation email