hi,欢迎访问本站!
当前位置: 首页编程开发正文

php如何判断手机号的运营商

墨初 编程开发 332阅读

php脚本中想要通过手机号来判断手机号的运营商,可以使用正则的方法。但在使用正则之前,需要有各个运营商的一些号码段的数据。

手机号运营商号码段数据

中国移动:134、135、136、137、138、139、150、151、152、157(TD)、158、159、182、183、184、187、188、147(数据卡)

中国联通:130、131、132、152、155、156、185、186

中国电信:133、153、180、181、189

ps:数据收集来自网络,可以有一些不准确,可以自行修改一下哦

php获取手机号运营商的方法

php函数

/**
 * # 判断手机号运营商
 * @param int $phone 手机号
 * 
 * @return string
 * https://www.73so.com
 */
function phone_check($phone){
    //移动号码段,网上收集
    $isChinaMobile = "/^134[0-8]\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\d{8}$/"; 
    //联通号码,来源网络收集
    $isChinaUnion = "/^(?:13[0-2]|145|15[56]|176|18[56])\d{8}$/"; 
    //电信号段
    $isChinaTelcom = "/^(?:133|153|177|173|18[019])\d{8}$/"; 
    if(preg_match($isChinaMobile, $phone)){
        return '中国移动';
    }else if(preg_match($isChinaUnion, $phone)){
        return '中国联通';
    }else if(preg_match($isChinaTelcom, $phone)){
        return '中国电信';
    }else{
        return '虚拟运营商';
    }
}

函数调用:

print_r(phone_check(13512345678));
//中国移动
print_r(phone_check(18612345678));
//中国联通
标签:
声明:无特别说明,转载请标明本文来源!
相关推荐