gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 11:40:00 24 4
gpt4 key购买 nike

我有这个功能来验证电子邮件地址:

function validateEMAIL($EMAIL) {
$v = "/[a-zA-Z0-9_-.+]+@[a-zA-Z0-9-]+.[a-zA-Z]+/";

return (bool)preg_match($v, $EMAIL);
}

这样可以检查邮箱地址是否有效吗?

最佳答案

检查电子邮件地址是否格式正确的最简单、最安全的方法是使用 filter_var()功能:

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
// invalid emailaddress
}

此外,您可以检查域是否定义了 MX 记录:

if (!checkdnsrr($domain, 'MX')) {
// domain is not valid
}

但这仍然不能保证邮件存在。找出答案的唯一方法是发送确认邮件。


现在您有了简单的答案,如果您想学习或只是使用快速答案并继续前进,请随时阅读有关电子邮件地址验证的信息。没有难过的感觉。

尝试使用正则表达式验证电子邮件地址是一项“不可能”的任务。我什至会说你所做的那个正则表达式是没用的。有三个关于电子邮件地址的 rfc,编写正则表达式来捕获错误的电子邮件地址,同时没有误报,这是凡人无法做到的。查看 this list用于 PHP 的 filter_var() 函数使用的正则表达式的测试(失败和成功)。

即使是内置的 PHP 函数、电子邮件客户端或服务器也无法正确处理。在大多数情况下,filter_var 仍然是最好的选择。

如果您想知道 PHP(当前)使用哪种正则表达式模式来验证电子邮件地址,请参阅 the PHP source .

如果您想了解有关电子邮件地址的更多信息,我建议您开始阅读规范,但我必须警告您,这无论如何都不容易阅读:

关于php - 如何在 PHP 中验证电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12026842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com