+
80
-

php如何根据手机号判断运营商?

php

php如何根据手机号判断运营商?


网友回复

+
0
-

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

我知道答案,我要回答