var email error
i use he filter_var php function to validate email address when a user sign up to my site
so i use this code form the post:
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
then later i do:
if(!$email) {
// return to the form
}
else {
// send registration info
}
now when i var_dump($email)
output:
string(23) "user."name"@example.com"
i would like to know why this not return false, i think the double quotes are not acceptable why PHP say it's valid?
It is a valid email address :
A quoted string may exist as a dot separated entity within the local-part or it may exist when the outermost quotes are the outermost chars of the local-part (eg abc."defghi".xyz@example.com or "abcdefghixyz"@example.com are allowed. abc"defghi"xyz@example.com is not; neither is abc"def"ghi@example.com).
I had the same problem (see Dalmas on why it's valid) and here's how I fixed it:
filter_var($email, FILTER_SANITIZE_EMAIL);
eg:
$email = 'user."name"@example.com';
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
will output:
string(21) "user.name@example.com"
Then you can validate the email using your validation.
you can get more information on the php site
链接地址: http://www.djcxy.com/p/92658.html上一篇: PHP
下一篇: 无效电子邮件错误