首页 >后端开发 >php教程 >求问怎么判断一段字符串是邮箱格式并可以存在多个呢。

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

WBOY
WBOY原创
2016-06-20 12:26:05986浏览

目前我做到可以判断邮箱格式
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 语句后边做自己需要的操作吗?

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn