如何使用正则表达式检查逗号分隔的电子邮件地址

Mr.*_*ppy 1 php regex validation laravel

我想regexLaravel 5.1验证中检查逗号分隔的电子邮件地址,我在下面创建regex了电子邮件,但它不适用于我.

regex: /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i
Run Code Online (Sandbox Code Playgroud)

我想允许这样的电子邮件: test1test.com, test2@test.com, test3@test.com

这是我的验证示例代码:

$rules = array(
    'email' => 'regex:/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i',
);
$messages = [
    'email.regex' => 'Please enter valid Email.',
];

$validator = Validator::make(Input::all(), $rules, $messages);

if ($validator->fails()) {

} else {

}
Run Code Online (Sandbox Code Playgroud)

Ind*_*yal 5

你可以试试这个

foreach(explode(',', $sEmailAddresses) AS $sEmailAddress) {
$bValid |= filter_var($sEmailAddress, FILTER_VALIDATE_EMAIL);
 }

 $sResult = ($bValid) ? 'Both are valid' : 'One of them are not';
Run Code Online (Sandbox Code Playgroud)

  • 您还需要修剪单个字符串,因为前导或结束空格将使电子邮件地址无效. (2认同)