电子邮件地址:易于创建,难以打字。
许多人可能会出错。 大多数人看起来都错了,没事。 很多东西看起来都不错,根本不能工作。
获取收集的电子邮件地址至少符合标准(如果不能确保的话)对于收发电子邮件或密码检索至关重要,而且非常棘手。
幸运的是,PHP(5和更高版本)带有一组方便的函数和过滤器,可以对电子邮件地址有效性进行测试。
验证PHP脚本中的电子邮件地址
在PHP中验证电子邮件地址的正确性(而不是检查地址是否实际正在工作并阅读):
- 如果您使用人们输入电子邮件地址的网络表单,则将电子邮件验证生成到HTML中 。
- 使用FILTER_VALIDATE_EMAIL 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包含要检查的地址,则可以使用以下命令来验证其有效性: