[英]Email validation doesn't work
我有这个简单的电子邮件正则表达式。
/^[a-z]+([\.-_]?[a-z0-9]+)*@([a-z]{3,})+(\.[a-z]{2,3})+$/i;
但是,当我使用以下示例: first @ last @ example.com时,它仍然有效,而且当我从表达式中删除@
字符时:
`/^[a-z]+([\.-_]?[a-z0-9]+)*([a-z]{3,})+(\.[a-z]{2,3})+$/i
它给出相同的结果。
此表达式允许电子邮件中至少2个字符之间有无限数量的at符号(即@
)!
这个表达式在哪里出问题?
你想要那样的东西吗?
/^[a-z\.\-_]+@([a-z]{3,})+(\.[a-z]{2,3})+$/
可能带有\\.-_
符号,您想在正则表达式中使用“。”,“-”或“ _”,但您忘了转义“-”。
或者,您可以使用自己的但可以使用转义符:
^[a-z]+([\.\-_]?[a-z0-9]+)*@([a-z]{3,})+(\.[a-z]{2,3})+$
PS:请记住,一个真实有效的电子邮件地址可能完全不同,并且具有巨大的正则表达式,此外,每个Web服务器都定义了电子邮件中允许和禁止的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.