Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP验证电子邮件的问题_Php_Email - Fatal编程技术网

使用PHP验证电子邮件的问题

使用PHP验证电子邮件的问题,php,email,Php,Email,我有下面的代码来检查用户输入是否是有效的电子邮件,可能已经有一些问题了,但是似乎没有人验证PHP函数 /* check if valid email*/ public function isValidEmail($email){ if(filter_var($email, FILTER_VALIDATE_EMAIL)) { return true; } return false; } 如果我们使用此功能进行测试: isValidEmail('some?=

我有下面的代码来检查用户输入是否是有效的电子邮件,可能已经有一些问题了,但是似乎没有人验证PHP函数

/* check if valid email*/
public function isValidEmail($email){
    if(filter_var($email, FILTER_VALIDATE_EMAIL)) {
        return true;
    }
    return false;
}
如果我们使用此功能进行测试:

isValidEmail('some?=Wrong@mail.com') 

这应该返回
false
,因为像
?=
这样的字符在电子邮件地址中。有没有更严格的方法来检查电子邮件?

这里的问题是
=
对电子邮件地址完全有效。从

电子邮件地址的本地部分可以使用以下任一ASCII字符:
这些特殊字符:!#$%&'*+-/=^_`{|}~(ASCII:33,35-39,42,43,45,47,61,63,94-96,123-126)


如果您试图确保电子邮件地址确实存在,请注意该路径是

这里的问题是
=
对于电子邮件地址完全有效。从

电子邮件地址的本地部分可以使用以下任一ASCII字符:
这些特殊字符:!#$%&'*+-/=^_`{|}~(ASCII:33,35-39,42,43,45,47,61,63,94-96,123-126)


如果您试图确保电子邮件地址确实存在,请注意该路径是“不写任何内容”-您的意思是它在测试输入时返回true?您将变量作为
$epost
传递给函数,然后作为
$email
访问它-这不会检查传递的变量。拼写错误,问题更新后,即使我的电子邮件地址中有?=也会返回true。请看:您的测试地址实际上似乎有效。通过“不写任何内容”-你的意思是它在测试输入时返回true吗?你将变量作为
$epost
传递给你的函数,然后作为
$email
访问它-这不会检查传递的变量。拼写错误,问题更新,即使我有?=电子邮件地址,它也会返回true。请参见:你的测试地址实际上似乎有效。