当前位置:Gxlcms > PHP教程 > 求问怎么判断一段字符串是邮箱格式并可以存在多个呢。

求问怎么判断一段字符串是邮箱格式并可以存在多个呢。

时间:2021-07-01 10:21:17 帮助过:10人阅读

目前我做到可以判断邮箱格式
function is_email($email){
return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-]+(\.\w+)+$/", $email);
}


目标是能做到判断并且逗号隔开后发送多人。

不胜感激


回复讨论(解决方案)

那你可以用逗号分割成数组
然后foreach调用你的方法去判断。

例如:

$emails = 'abc@test.com,efg@test.com';var_dump(checkemail($emails));function checkemail($data){        $ret = true;    $emails = explode(',', $data);    foreach($emails as $email){        if(!(strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-]+(\.\w+)+$/", $email))){            $ret = false;            break;        }    }    return $ret;}

那你可以用逗号分割成数组
然后foreach调用你的方法去判断。

例如:
PHP code

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$emails = 'abc@test.com,efg@test.com';

var_dump(checkemail($emails));

function checkemail($data){

$ret = true;
$emails = explode(',', $data);

foreach($emails as $email){
if(!(strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-]+(\.\w+)+$/", $email))){
$ret = false;
break;
}
}

return $ret;

}

谢谢解答,现在才看到不好意思。
你这个的意思是,判断是不是每个都是邮箱,不是的话就终止循环,是的话就在RETURN 语句后边做自己需要的操作吗?

人气教程排行