0

可能重复:
如何在 PHP 中验证电子邮件地址

下面我有一段代码用于检查有效的电子邮件地址:

if ( (strlen($getemail) >= 7) && (strstr($getemail, "@")) && (strstr($getemail, ".")) ){

但我的问题是,与上面的代码相反的是什么,以便我可以检查输入的电子邮件是否不包含上述所有功能?

4

3 回答 3

3

PHP 已经有一个函数可以为你做这件事。它称为filter_var,您正在寻找FILTER_VALIDATE_EMAIL.

例子:

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    // It's a valid email address
} else {
    // It's not a valid email address
}
于 2012-12-10T00:57:59.680 回答
2

在我看来,你想做的事情可以通过 RegEx 来实现。

var_dump(preg_match('#^(\w+){7,}@(\w+)\.([a-z]){2,4}$#i', 'example@example.com')); # 1 (true)
var_dump(preg_match('#^(\w+){7,}@(\w+)\.([a-z]){2,4}$#i', 'foo@example.com')); # 0 (false)

如果不满足其中一个条件(确保地址是字母数字,最少 7 个字符,后跟 @ 等),则整个表达式将导致错误值。

例子:

if(preg_match('#^(\w+){7,}@(\w+)\.([a-z]){2,4}$#i', $email))
{
// do stuff
}

不要那样验证电子邮件,使用内置filter_var功能。没有真正的方法来验证电子邮件是否“真实”,主要问题是域,即 TLD。

于 2012-12-10T01:27:41.887 回答
0
if (!( (strlen($getemail) >= 7) && (strstr($getemail, "@")) && (strstr($getemail, ".")) )){
于 2012-12-10T00:53:11.937 回答