我用这个: if(!preg_match('/^+[0-9]$/', '+1234567'))
我得到了:
警告:preg_match()[function.preg-match]:编译失败:在偏移量1处不重复
任何想法为什么?
更新:现在使用这个:if(!preg_match('/^\+[0-9]$/', '+1234567'))
我没有比赛.
任何想法为什么?
med*_*iev 21
+是一个特殊字符,表示前一个字符中的一个或多个,并且通过不转义它,您将它应用于插入符号.逃避它,\它将匹配文字加号.
if(!preg_match('/^\+[0-9]$/', '+1234567'))
编辑:
它不匹配的原因是因为你指定了0-9的1位数和字符串的结尾$.你需要使它成为可变数量的数字.
if(!preg_match('/^\+[0-9]+$/', '+1234567')) {
更短的版本:
if(!preg_match('/^\+\d+$/', '+1234567')) {