如何验证PHP脚本中的电子邮件地址

电子邮件地址:易于创建,难以打字。

许多人可能会出错。 大多数人看起来都错了,没事。 很多东西看起来都不错,根本不能工作。

获取收集的电子邮件地址至少符合标准(如果不能确保的话)对于收发电子邮件或密码检索至关重要,而且非常棘手。

幸运的是,PHP(5和更高版本)带有一组方便的函数和过滤器,可以对电子邮件地址有效性进行测试。

验证PHP脚本中的电子邮件地址

在PHP中验证电子邮件地址的正确性(而不是检查地址是否实际正在工作并阅读):

FILTER_VALIDATE_EMAIL PHP电子邮件地址验证警告

请注意,FILTER_VALIDATE_EMAIL将验证包含不存在的域和顶级域的电子邮件地址。 如果您想避免这些情况,您可以测试长度超过4个字符的顶级域名(它将错误地输出“.museum”),或者对于长度为2个字符的域名 (所有国家/地区顶级域名)或者其中一个已知的顶级域名(当列表发生变化时,您将不得不更新)。

FILTER_VALIDATE_EMAIL会错误地使用长域名(64个字符或更多)的电子邮件地址,以及带有转义字符的电子邮件地址(例如“me \”@ example.com“)。为避免这些误报 ,您可以转向类如php-email-address-validation。

FILTER_VALIDATE_EMAIL电子邮件地址验证示例

假设$ email_address包含要检查的地址,则可以使用以下命令来验证其有效性:

您还可以直接从网络表单过滤电子邮件地址 (假设电子邮件地址是在名为“email”的字段中捕获的):