Heim >Backend-Entwicklung >PHP-Tutorial >求问怎么判断一段字符串是邮箱格式并可以存在多个呢。

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

WBOY
WBOYOriginal
2016-06-20 12:26:05986Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn