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

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

WBOY
WBOYOriginal
2016-06-20 12:26:05951browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn