上网搜了一下三大运营商最新的手机号段分配情况
PART I
移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
联通:130、131、132、152、155、156、185、186
电信:133、153、180、189、(1349卫通)
PART II
顺便记录一下其它电话号码方面的知识。
以前电信移动邮政还没有分家,邮电资源是邮电部(现信息产业部)统一调度的。在分配号段的时候,做了一些细致的规划,大体是这样:
10开头,电信服务号码,如103国际半自动挂号,108国际对方付费电话,1000电信服务中心,1001联通服务中心等等。
11开头,赋予特种服务号码,如110匪警,111电信内部测试,112报修,113、115国内人工长途挂号,114查号台,116国内人工长途查询,117报时,119火警等,12开头,赋予民用特殊号码,如120(医院),121(天气预报),122交通事故告警,126、127、128、129寻呼台(BP机时代)。
其他的特殊号段号码有:
16,声讯类,如160中国电信工人信息服务接入码,166语音信箱业务,167吉通计算机互联网业务接入码,168声讯服务,中国电信公众多媒体网接入码等
17,长途电话服务,如170国内长途全自动话费查询台,173国内立接制长途半自动挂号台,176国内长途半自动查询台,177国内长途半自动班长台,179IP语音服务接入码等
18,部分服务台,如180邮政服务,184邮政编码查询接入码,185国家邮xxx电话信息服务接入码,186移动服务中心,188固定电话交费台,189中国电信业务受理特服台等。
19,寻呼接入,191联通无线电人工寻呼接入码,192联通无线电自动寻呼接入码等等
20,30,电话卡服务
另外,8、9开头的号段部分也作电信及民用服务号码
以上号码均作分配,内容太多未详细列出,部分号码目前已经升级,如电信服务台,天气预报,邮政服务台等等。
PART III
有了PART I部分的知识我们就开始写规则了。代码符上
$db = new db();
$db->connect($db_config);
//选择字段
$selectFields = 'mobile';
$rows = $db->row_select('fw_customer',$where,0,$selectFields,'id','ASC');
$regex = "/13[0-9]{9}|15[0|1|2|3|5|6|7|8|9]\d{8}|18[0|5|6|7|8|9]\d{8}/";
$mc=0;
if($rows){
foreach($rows as $row)
{
preg_match_all($regex,$row['mobile'], $phones);
if($phones){
for($i=0;$i
echo $phones[0][$i] ."\r\n";
$mc++;
}
}
}
}
echo "共{$mc}号码OK!";
***********************************************************************************************
$tel_pattern = '/^(0?(([1-9]\d)|([3-9]\d{2}))-?)?\d{7,8}$/'; //固话正则,可为0451-12345678 045112345678 04511234567