在 PHP 中,验证电子邮件地址可能是一项复杂的任务。虽然简单的正则表达式可能看起来足够了,但它们在处理 RFC 规范和异常的细微差别方面往往不够。
最直接和可靠的方法是利用 filter_var( ) 功能。它使用预定义的过滤器常量 FILTER_VALIDATE_EMAIL 来检查格式正确的电子邮件地址:
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { // Invalid email address }
为了进一步加强验证,您可以验证 MX 是否存在记录电子邮件域:
if (!checkdnsrr($domain, 'MX')) { // Invalid domain }
即使采取这些措施,也不能绝对保证电子邮件的存在。确认电子邮件仍然是验证活跃帐户的唯一可靠方法。
制作全面的正则表达式来验证电子邮件地址几乎是不可能的。试图捕获所有有效地址同时避免误报是徒劳的。即使是 PHP 内置的 filter_var() 函数在某些情况下也会表现出其局限性。
为了更深入地了解电子邮件验证,建议深入研究 RFC规范:
以上是如何在 PHP 中有效验证电子邮件地址?的详细内容。更多信息请关注PHP中文网其他相关文章!