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

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


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

不胜感激
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
boringmajo 2016-06-10
  • 打赏
  • 举报
回复
那你可以用逗号分割成数组 然后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 语句后边做自己需要的操作吗?
傲雪星枫 2016-06-08
  • 打赏
  • 举报
回复
那你可以用逗号分割成数组 然后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;

}

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧