如何验证以8801,05,06,07,09,01开头且长度为13的手机号码

时间:2013-09-16 05:58:15

标签: php regex

我是php的新手,我正在尝试使用正则表达式验证手机号码。它的总长度为13,必须以88016或88017或88015或88018或88019或88011开头。因此数字格式如下所示:

88016XXXXXXXX OR 88015XXXXXXXX OR 88017XXXXXXXX OR 88019XXXXXXXX OR 88011XXXXXXXX

但我累了。请参阅以下代码。我觉得我的表达方式有问题。

if( !preg_match("/^([0-9]-)?[0-9]$/", $write_numer))            
     $err[] = "Please enter a valid phone number";

非常感谢你的帮助。

3 个答案:

答案 0 :(得分:3)

试试这个

if (preg_match("/^8801(6|5|7|9|1)\d{8}$/", $value)) {
        echo "yes";
}

答案 1 :(得分:2)

试试这个:

$pattern = "/^(880)(16|15|17|19|11)(\d){8}$/";

if( !preg_match($patterm, $write_numer))            
     $err[] = "Please enter a valid phone number";

答案 2 :(得分:1)

这应该可以解决问题:

preg_match("/^8801[5-7|1|9][0-9]{8}$/", $write_numer)