0

我使用 atextarea允许用户输入多个电子邮件地址,以逗号分隔。此外,很可能会有空格字符和换行符。

如何在 PHP 中检查/确保textarea唯一的字符串包含有效的电子邮件地址(语法有效,没有 DNS 检查等)、空格字符或换行符?电子邮件地址中可能不存在空格字符和换行符(这无论如何都会破坏地址有效性的第一个限制)。

4

2 回答 2

1
  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) 为空,不检查邮件有效性,忽略

于 2013-11-07T15:14:29.387 回答
0

正则表达式验证

// 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>";
    }
}
于 2013-11-07T15:29:45.670 回答