preg_match在提交之前检查变量

时间:2015-03-15 13:16:07

标签: php if-statement preg-match

我需要确保在提交表单之前进行一些检查:

if ( preg_match( '/[^\d]/', $phone ) || (strlen( $phone ) < 11 ) ) 

以上陈述检查$phone是否不小于11位。

我需要额外检查。

$phone必须是11位数字(不多也不少)。

$phone必须以下列任何一项开头:010011012

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以在一个正则表达式中执行此检查:

/^01[0-2][0-9]{8}$/

无需通过strlen函数检查长度。

答案 1 :(得分:0)

试试这个正则表达式

   /^(010|011|012)+\d{8}\z/

重写

           if ( preg_match("/^(010|011|012)+\d{8}\z/",$phone))
  

查看此正则表达式

https://eval.in/300433