警告preg_match():编译失败:在偏移量33处不重复

时间:2013-08-17 04:59:24

标签: php validation

我想验证我在PHP中添加的电子邮件。为此,我使用以下函数:

function checkEmail($email) {
  if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])↪*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$email)){
    list($username, $domain) = split('@', $email);
    if(!checkdnsrr($domain, 'MX')) {
      return false;
    }
    return true;
  }
}

然而,现在它返回以下警告:

preg_match(): Compilation failed: nothing to repeat at offset 33

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

为什么preg_match,当您可以使用PHP中的FILTER_VALIDATE_EMAIL

时执行此操作
if(filter_var($email, FILTER_VALIDATE_EMAIL))

FILTER