fre*_*red 10 php email email-validation filter-var
filter_var当用户注册我的网站时,我使用PHP函数来验证电子邮件地址.
我使用帖子中的代码:
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
Run Code Online (Sandbox Code Playgroud)
后来我做了:
if(!$email) {
// return to the form
}
else {
// send registration info
}
Run Code Online (Sandbox Code Playgroud)
现在当我var_dump($email),我得到输出:
string(23) "user."name"@example.com"
Run Code Online (Sandbox Code Playgroud)
我想知道为什么这不会返回错误.我认为双引号是不可接受的,那么为什么PHP说它有效?
Boo*_*eus 11
我遇到了同样的问题(请参阅Dalmas关于它有效的原因)以及我如何修复它:
filter_var($email, FILTER_SANITIZE_EMAIL);
Run Code Online (Sandbox Code Playgroud)
例如:
$email = 'user."name"@example.com';
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
Run Code Online (Sandbox Code Playgroud)
将输出:
string(21) "user.name@example.com"
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用验证来验证电子邮件.
你可以在php网站上获得更多信息