【发布时间】:2013-12-19 05:18:19
【问题描述】:
我正在使用下面的正则表达式来验证电子邮件是否接受字母数字字符。它适用于以下情况
1) 必须包含至少一个字母
2) 允许字母数字
3) 允许特殊字符.-and _
正则表达式:
/^([a-zA-Z0-9])(([a-zA-Z0-9])*([\._-])?([a-zA-Z0-9]))*@(([a-zA-Z0-9\-])+(\.))+([a-zA-Z]{2,4})+$/i
案例:
1111@gmail.com - allow
aaaa@gmail.com - allow
aa1_aa@gmail.com - allow
预期输出:
1111@gmail.com - not allow because it does not contain alphabets before @
aaaa@gmail.com - allow
a1@gmail.com - allow
1a@gmail.com - allow
aa1_aa@gmail.com - allow
她是 jsfiddle Demo
【问题讨论】:
-
您从哪里获得电子邮件验证规则?如果您要验证来自外部来源的电子邮件,那么这不是一套很好的使用规则。阅读this article,了解如何验证或查找电子邮件地址。它对使用正则表达式来完成这项任务的一些权衡和缺陷进行了很好的讨论,并提供了很多优秀的正则表达式。
-
谢谢@FrankieTheKneeMan
-
在我们的组织中,我们使用 '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA -Z]{2,4}$' 如果您需要,则按照标准
-
验证电子邮件地址总是很棘手。像this 这样的东西试图支持所有有效的电子邮件地址,这很荒谬,并且会支持许多电子邮件服务器不会接受的一些晦涩难懂的东西。另一方面,流行的框架 Angular.js 使用以下正则表达式,它比你的更宽松:
/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/(编辑:与@Raunak Kathuria 使用的正则表达式非常相似) -
验证电子邮件地址的最佳方法是向该地址发送电子邮件。
标签: javascript regex