多年来,我慢慢开发了一个正则表达式,可以正确验证MOST电子邮件地址,假设他们不使用IP地址作为服务器部分。我在几个PHP程序中使用它,它大部分时间都可以工作。但是,我不时会遇到使用它的网站遇到问题的人,我最终不得不进行一些调整(最近我意识到我不允许使用4字符TLD)。验证电子邮件的最佳正则表达式是什么?我已经看到了几个使用函数的解决方案,这些函数使用了几个较短的表达式,但我宁愿在一个简单的函数中使用一个长复杂表达式,而不是在一个更复杂的函数中使用几个短表达式。
4 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
这个问题被问了很多,但我认为你应该退后一步,问问自己为什么要在语法上验证电子邮件地址?真的有什么好处?
它不会捕捉常见的拼写错误。
它不会阻止人们输入无效或虚构的电子邮件地址,也无法输入其他人的地址。
如果您想验证电子邮件是否正确,您别无选择,只能发送确认电子邮件并让用户回复。在许多情况下,出于安全原因或出于道德原因,您将不得不发送确认邮件(因此您不能违背他们的意愿签署某人服务)。
RISEBY
TA贡献1856条经验 获得超5个赞
这一切都取决于你想要的准确程度。就我的目的而言,我只是试图阻止诸如bob @ aol.com
(电子邮件中的空格)或steve
(根本没有域名)或mary@aolcom
(在.com之前没有时间段)之类的东西,我使用
/^\S+@\S+\.\S+$/
当然,它将匹配无效电子邮件地址的内容,但这是播放90/10规则的问题。
添加回答
举报
0/150
提交
取消