邮箱验证的正则表达式
邮箱验证的正则表达式
这个问题已经有了答案:
我已经编写了以下正则表达式用于非常简单的电子邮件验证。我打算发送确认链接。
/.*@[a-z0-9.-]*/i
然而,我想从当前状态提高它,因为这样的字符串不会产生期望的结果:
test ,my.name+test@gmail-something.co.uk, test
“test ,”部分被不需要地包含在匹配中。我尝试了不成功的单词边界的实验。
- 我该如何修改?
- 即使我保持了这个简单,它会排除任何有效的电子邮件格式吗?
谢谢!
admin 更改状态以发布 2023年5月24日
不要使用正则表达式来验证电子邮件地址
相反,可以从Ben Finney所写的mail.python.org/pipermail/python-list上获取最好的建议,当人们问“如何验证电子邮件地址是否有效?”时,最好的建议是“尝试发送邮件到它”。这既符合Python的风格,也是最好的方法。如果您确实想要确认,不要试图静态验证它;使用邮件地址,并检查结果。向该地址发送电子邮件,并仅在收件人从回复中得到“是,这是要使用的正确地址”时使用它,不再使用它。
发送系统的邮件传输代理而不是正则表达式来确定将邮件发送到哪个域。
域名系统而不是正则表达式来确定哪些域是有效的,哪些主机应接收该域的邮件。
最重要的是,接收邮件系统而不是正则表达式来确定哪些本地部分是有效的。