php集成函数表单邮件验证不起作用过滤器\u验证\u电子邮件
我有下面的脚本来检查电子邮件,如果它们的格式正确,我会对它们进行处理。。我正在为此使用FILTER_VALIDATE_电子邮件 代码如下:php集成函数表单邮件验证不起作用过滤器\u验证\u电子邮件,php,Php,我有下面的脚本来检查电子邮件,如果它们的格式正确,我会对它们进行处理。。我正在为此使用FILTER_VALIDATE_电子邮件 代码如下: if(!empty($_POST['maillist'])){ $_POST['maillist'] = 'mariatettamanti@gmail.com, H0889@sofiaertel.com,sdfd@sfs.com,'; $mails = explode(',',$_POST['maillist']); foreach($m
if(!empty($_POST['maillist'])){
$_POST['maillist'] = 'mariatettamanti@gmail.com,
H0889@sofiaertel.com,sdfd@sfs.com,';
$mails = explode(',',$_POST['maillist']);
foreach($mails as $mail){
if(!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
echo $emailErr = $mail." - Invalid email format<br />";
}else{
echo 'do job with this mail';
}
}
}
正如您所看到的,邮件被格式化为邮件,但该函数仅打印第一封邮件为正确邮件,其余邮件为错误邮件。。为什么呢?我错过了什么?谢谢问题在于您的电子邮件地址中的最后一个逗号。它会在最后创建并清空值。要避免这种情况,请使用isset
问题是您的电子邮件地址中的最后一个逗号。它会在最后创建并清空值。要避免这种情况,请使用isset
看这里看这里看这里Saty,奇怪,以3封邮件为例,它是有效的,但对于我的真实邮件列表,它不是。。我开始循环..你能把$u post['maillist']的值贴出来吗!!我添加了我正在测试的样本。。它包含错误和正确的格式化邮件。您测试过吗?如果需要,请选中“编辑”“使用修剪”!filter\u vartrim$mail,filter\u VALIDATE\u EMAIL{它会给你想要的结果。Saty,奇怪,以3封邮件为例,它可以工作,但在我的真实邮件列表中它不工作..我开始循环..你能发布$\u post['maillist'的值吗!!我添加了我正在测试的样本..它包含错误和正确的格式邮件。你测试了吗?检查编辑使用修剪如果!filter_vartrim$mail,filter_VALIDATE_EMAIL{它会给你想要的结果。
if (!empty($_POST['maillist'])) {
$_POST['maillist'] = 'H0889@sofisadatel.com,info@daddsadyomiaasdmi.com,info@hotsdaelmidasami.com,';
$mails = explode(',', $_POST['maillist']);
foreach ($mails as $mail) {
if (isset($mail) && $mail != "") {// check for empty email
if(!filter_var(trim($mail), FILTER_VALIDATE_EMAIL)) {
echo $emailErr = $mail . " - Invalid email format<br />";
} else {
echo 'do job with this mail';
}
}
}
}