使用以下代码
$regex = "^[_+a-z0-9-]+('.[_+a-z0-9-]+)*"
."@[a-z0-9-]+('.[a-z0-9-]{1,})*"
."'.([a-z]{2,}){1}$";
if(!preg_match($regex,$subemail)){
$form->setError($field, "* Email invalid");
}
$subemail = stripslashes($subemail);
}
我收到以下错误
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found
任何帮助将不胜感激。
现在它认为^
是开界符,因此期待在最后出现另一个分隔符。您可以使用任意数量的分隔符,例如/
和/
,或@
和@
,或<
和>
等。下面的一个使用 /
和 /
作为其开盘/收盘分隔符:
$regex = "/^[_+a-z0-9-]+('.[_+a-z0-9-]+)*"
."@[a-z0-9-]+('.[a-z0-9-]{1,})*"
."'.([a-z]{2,}){1}$/";
你必须
用这样的#
或/
包围你的模式: "#[abc]+#"
我个人使用#,因为它比/
对于电子邮件验证标准PHP函数,请使用filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)
(请参阅 http://www.php.net/manual/en/function.filter-var.php)