可用正则匹配号段实现,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");
网友回复