无效电子邮件错误

当用户注册我的网站时,我使用filter_var php函数来验证电子邮件地址

所以我使用这个代码形式的帖子:

$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);

那么以后我会这样做:

if(!$email) {
  // return to the form 
}
else {
  // send registration info
}

现在当我var_dump($电子邮件)

输出:

string(23) "user."name"@example.com"

我想知道为什么这不会返回false,我认为双引号是不可接受的,为什么PHP说它是有效的?


这是一个有效的电子邮件地址:

带引号的字符串可以作为点分隔的实体存在于本地部分中,或者当最外层的引号是本地部分的最外层字符时(例如abc。“defghi”.xyz @ example.com或“abcdefghixyz”@ example.com是允许的。abc“defghi”xyz@example.com不是; abc “def ”ghi@example.com)。


我遇到了同样的问题(请参阅达尔马斯为什么它是有效的),以下是我如何修复它:

filter_var($email, FILTER_SANITIZE_EMAIL);

例如:

$email = 'user."name"@example.com';
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

会输出:

string(21) "user.name@example.com"

然后,您可以使用您的验证来验证电子邮件。

你可以在php网站上获得更多信息

链接地址: http://www.djcxy.com/p/92657.html

上一篇: var email error

下一篇: php