如何替换eregi()
我试着四处看看,以为我用preg_match
算出来了,但是preg Match给了我错误:
警告:preg_Match():没有结束分隔符‘^’
这是我的原始代码,php说它已经贬值了:
if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $_POST['email'])) {
$erroR= "Invalid Email address";
}
谁能解释一下结尾的分隔符‘^’是什么,以及如何添加它?谢谢@
解决方案
将eregi()
替换为preg_match()
,并在正则表达式中添加分隔符。我在这里选择了标准/
,但您可以使用其他字符。
if(!preg_match("/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/", $_POST['email'])) {
$erroR= "Invalid Email address";
}
您收到此警告的原因...
警告:
preg_match()
:没有结束分隔符'^'
...是因为preg_match()
需要分隔符,并且它假定使用的是^
,并且它不能与尾随的分隔符匹配。
相关文章