Php 预匹配-正则表达式错误
使用以下代码Php 预匹配-正则表达式错误,php,Php,使用以下代码 $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
$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
任何帮助都将不胜感激。现在它认为
^
是开头的分隔符,因此希望在结尾处有另一个分隔符。您可以使用任意数量的分隔符,例如/
和/
,或@
和@
,或
和code>等。下面的分隔符使用/
和/
作为其开始/结束分隔符:
$regex = "/^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*"
."@[a-z0-9-]+(\.[a-z0-9-]{1,})*"
."\.([a-z]{2,}){1}$/";
您必须用
#
或/
围绕您的模式,如下所示:“#[abc]+#”
我之所以使用personnal,是因为它比/
对于电子邮件验证标准PHP函数,请使用
filter\u var('bob@example.com“,过滤器(验证电子邮件)
(请参阅)即使您要修复分隔符,您的模式也会在许多电子邮件地址上失败: