我使用 atextarea
允许用户输入多个电子邮件地址,以逗号分隔。此外,很可能会有空格字符和换行符。
如何在 PHP 中检查/确保textarea
唯一的字符串包含有效的电子邮件地址(语法有效,没有 DNS 检查等)、空格字符或换行符?电子邮件地址中可能不存在空格字符和换行符(这无论如何都会破坏地址有效性的第一个限制)。
function checkTextArea($textarea){
$textarea = str_replace(array("\r\n", "\r", " "), "", $textarea);
$textarea = explode(";", $textarea);
foreach($textarea as $res){
if(!filter_var($res, FILTER_VALIDATE_EMAIL)){
return false;
}
}
return true;
}
像这样的东西。您可以用逗号替换换行符/空格;如果用户忘记用来分隔并使用空间。如果你这样做,可以有多个 ; 互相关注:如果 ($res) 为空,不检查邮件有效性,忽略
正则表达式验证
// get your email list from your textbox
$emailList = "test@abc.com, myname@abc.com, php@account.com, test.com";
$ArrayList = explode(", ", $emailList);
$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
foreach($ArrayList as $address)
{
if (preg_match($regex, $address))
{
print $address." Is valid Email<br>";
}
else
{
print $address." Is Invalid Email<br>";
}
}