>  기사  >  백엔드 개발  >  求问怎么判断一段字符串是邮箱格式并可以存在多个呢。

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

WBOY
WBOY원래의
2016-06-20 12:26:05951검색

目前我做到可以判断邮箱格式
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으로 문의하세요.