可用正则匹配号段实现,php代码如下:
<?php
function getOperatorByPhoneNumber( $phoneNumber)
{
// 中国移动正则表达式
$cmccPattern = '/^1(3[4-9]|4[7]|5[0-27-9]|7[28]|8[2-478]|9[8])\d{8}$/';
// 中国联通正则表达式
$cuccPattern = '/^1(3[0-2]|4[5]|5[56]|6[67]|7[56]|8[56]|9[6])\d{8}$/';
// 中国电信正则表达式
$ctcPattern = '/^1(33|49|53|73|77|8[019]|9[0139])\d{8}$/';
// 其他运营商正则表达式
$otherPattern = '/^1(3[012]|4[3-6]|5[89]|6[25]|7[01347]|8[89]|9[24-7])\d{8}$/';
// 匹配手机号
if (preg_match($cmccPattern, $phoneNumber)) {
return '中国移动';
} elseif (preg_match($cuccPattern, $phoneNumber)) {
return '中国联通';
} elseif (preg_match($ctcPattern, $phoneNumber)) {
return '中国电信';
} elseif (preg_match($otherPattern, $phoneNumber)) {
return '其他运营商';
} else {
return '未知运营商';
}
}
echo getOperatorByPhoneNumber("18523123333"); 网友回复


