PHP 正则匹配最新手机号运营商

本文介绍了一种通过正则表达式匹配来识别中国大陆三大主要手机运营商(中国移动、中国联通、中国电信)的方法。该方法针对不同运营商的手机号段进行了详细的划分,并提供了相应的PHP函数实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 /** 
     * @param $phone 
     * @return int 
     * 手机运营商检测 
     */  
    private function phone_check($phone)  
    {  
  
        $isPhone = "/^1[3-9]\d{9}$/"; //先判断正确手机号格式  
  
        if (preg_match($isPhone, $phone)) {  
  
            $isChinaMobile = "/^134[0-9]\d{7}$|^1703\d{7}$|^170[5-6]\d{7}$|^(?:13[5-9]|147|148|15[0-27-9]|178|18[2-478]|198)\d{8}$/"; //  
            $isChinaUnion  = "/^1704\d{7}$|^170[7-9]\d{7}$|^171[0-9]\d{7}$|^(?:13[0-2]|145|15[56]|166|175|176|18[56])\d{8}$/"; //  
            $isChinaTelcom = "/^(?:133|153|169|177|173|174|170|18[019]|199)\d{8}$|^170[0-2]\d{7}$/"; //  
  
            if (preg_match($isChinaMobile, $phone)) {  
  
                return 1; //中国移动  
            } else if (preg_match($isChinaUnion, $phone)) {  
  
                return 2; //中国联通  
            } else if (preg_match($isChinaTelcom, $phone)) {  
  
                return 3; //中国电信  
            } else {  
                return 0;  
            }  
  
        } else {  
            return 0;  
  
        }  
    }  

如有更新号段请自行添加规则,留言提示帮助更新谢谢!

 

转载于:https://www.cnblogs.com/wangdeguao/p/9109312.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值