如何使用正则表达式验证电子邮件地址?

多年来,我慢慢开发了一个正则表达式,可以正确验证MOST电子邮件地址,假设他们不使用IP地址作为服务器部分。

我在几个PHP程序中使用它,它大部分时间都可以工作。但是,我不时会遇到使用它的网站遇到问题的人,我最终不得不进行一些调整(最近我意识到我不允许使用4字符TLD)。

验证电子邮件的最佳正则表达式是什么?

我已经看到了几个使用函数的解决方案,这些函数使用了几个较短的表达式,但我宁愿在一个简单的函数中使用一个长复杂表达式,而不是在一个更复杂的函数中使用几个短表达式。


一只斗牛犬
浏览 2842回答 4
4回答

慕标琳琳

这个问题被问了很多,但我认为你应该退后一步,问问自己为什么要在语法上验证电子邮件地址?真的有什么好处?它不会捕捉常见的拼写错误。它不会阻止人们输入无效或虚构的电子邮件地址,也无法输入其他人的地址。如果您想验证电子邮件是否正确,您别无选择,只能发送确认电子邮件并让用户回复。在许多情况下,出于安全原因或出于道德原因,您将不得不发送确认邮件(因此您不能违背他们的意愿签署某人服务)。

RISEBY

这一切都取决于你想要的准确程度。就我的目的而言,我只是试图阻止诸如bob @ aol.com(电子邮件中的空格)或steve(根本没有域名)或mary@aolcom(在.com之前没有时间段)之类的东西,我使用/^\S+@\S+\.\S+$/当然,它将匹配无效电子邮件地址的内容,但这是播放90/10规则的问题。
打开App,查看更多内容
随时随地看视频慕课网APP