求问怎么判断一段字符串是邮箱格式并可以存在多个呢。
程序员文章站
2022-06-09 15:16:54
...
目前我做到可以判断邮箱格式
function is_email($email){
return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-]+(\.\w+)+$/", $email);
}
目标是能做到判断并且逗号隔开后发送多人。
不胜感激
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 语句后边做自己需要的操作吗?
上一篇: php获取中文拼音首字母类和函数分享
下一篇: 数据库查询内外连接