在 PHP 中验证电子邮件地址 [重复]

Posted

技术标签:

【中文标题】在 PHP 中验证电子邮件地址 [重复]【英文标题】:Validate email address in PHP [duplicate] 【发布时间】:2011-05-28 12:17:12 【问题描述】:

可能重复:How to validate an emailaddress in php

我想知道每个人在验证电子邮件地址方面都在做什么,以及验证需要多广泛。

例如,在这些方法中,首选哪一种?为什么?

    全面检查:http://www.linuxjournal.com/article/9585?page=0,3 PHP 过滤器:http://php.net/manual/en/filter.filters.validate.php 艾瑞吉:http://www.totallyphp.co.uk/code/validate_an_email_address_using_regular_expressions.htm 预匹配与 DNS 检查:http://www.soaptray.com/blog/2008/04/validate-email-addresses-using-php/

我的目标是为普通项目找到一个好的、可靠的解决方案,因此在验证电子邮件地址时,我确切地知道我将要使用什么。

非常感谢任何反馈!

-瑞恩

【问题讨论】:

【参考方案1】:

http://www.regular-expressions.info/email.html 具有 RFC2822 推荐的 reg ex。

【讨论】:

【参考方案2】:

使用PHP’s build-in filters 进行语法验证并发送验证电子邮件以确认意图。

【讨论】:

【参考方案3】:

这是一篇很棒的博客文章:http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx

就个人而言,我通常使用一个简单的 RegExp 来验证您在 Internet 上找到的大多数地址,因此我会使用第三个链接中的解决方案。 但我认为,最好的解决方案是向指定地址发送一封电子邮件(之前使用简单的 RegExp 来警告用户),并附上一个链接来验证它。因此,您确定这是一个有效且已分配的地址。

【讨论】:

【参考方案4】:

除了向该地址发送电子邮件并请求回复外,我认为没有万无一失的解决方案。正则表达式之类的东西很难正确地实现

您的解决方案将取决于该电子邮件地址的价值。您要发送时事通讯吗?销售确认?严重警报?一些简单的正则表达式解决方案可能就足够了。获得某种确认对于第二个来说很有价值。第三个可能需要重复确认有效性(例如每月检查)。

【讨论】:

以上是关于在 PHP 中验证电子邮件地址 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

PHP 电子邮件有效。在PHP中验证电子邮件地址

PHP 在php中验证电子邮件地址

iOS中电子邮件地址的正则表达式验证并检查空白条目[重复]

如何使用 php 验证电子邮件地址? [复制]

电子邮件地址验证 [重复]

C# MVC 4 应用程序中的电子邮件地址验证:使用或不使用正则表达式 [重复]