【发布时间】:2016-04-21 10:29:26
【问题描述】:
我有以下正则表达式:
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
匹配。为什么?
【问题讨论】:
-
因为这是一个有效的电子邮件地址。
-
@Juhana,你能解释一下吗?
-
根据规范,地址中允许单独使用 TLD。实际上,没有人拥有这样的公共地址,但它仍然有效。
-
问题是反斜杠在您使用字符串创建正则表达式时需要转义。使用正则表达式文字或转义反斜杠。
标签: javascript regex email-validation