我尝试创建自定义电子邮件regexp
[第一] @ [秒]。[第三]
这是我到目前为止所做的:
^(?!\.)(?=[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9]).{2,21}(?:\.[a-zA-Z0-9].{2,3})$
不幸的是,它没有像我预期的那样工作。感谢您的任何提示。
例如,我可以在彼此旁边添加多个点: 测试... s@fm.com
答案 0 :(得分:1)
永远不要写正则表达式来检查电子邮件。你永远不会做对。举个例子,你说:
允许的标志是数字,字母和一些特殊字符(我已经完成了)
这是非常错误的,因为你不会包括像å或ţ这样有效的unicode字符。我也很确定你不知道@
是电子邮件第一部分中的有效值。
第三个字符串长度为2或3个字符。
以及如何匹配以下tld:.info
,.ninja
,.website
或.space
?
所以,请不要。
供参考:
答案 1 :(得分:0)
以下正则表达式可能对您有帮助。
^(([^<>()\[\]\\.,;:\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,3}))$
请阅读@zmo发布的答案。