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


How can I validate mobile number that start with 8801, 05, 06, 07, 09, 01 and length is total 13

我是 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";

非常感谢您的帮助。

试试这个

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

试试这个:

$pattern = "/^(880)(16|15|17|19|11)('d){8}$/";
if( !preg_match($patterm, $write_numer))            
     $err[] = "Please enter a valid phone number";

这应该可以解决问题:

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