上一篇博文写了一下php隐藏身份证号码中间几位的方法,就有人来问如何实现隐藏电话号话手机号码中间几位,下面就来详细的说一下。

php隐藏手机号/固定号码的方法

php函数

/**
 * # 隐藏手机号/固定号码中间四位
 * @param string/int $phone 手机号/固定号码
 * 
 * @return string
 */
function hidtel($phone)
{
    $Istelephone = preg_match('/(0[0-9]{2,4}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i', $phone); //判断是否为固定电话
    if($Istelephone){
        return preg_replace('/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i', '$1'.str_repeat("*",4).'$2', $phone);
    } 
    return preg_replace('/(1[0-9]{1}[0-9])[0-9]{4}([0-9]{4})/i', '$1'.str_repeat("*",4).'$2', $phone);
}

php隐藏手机号固定号函数调用

var_dump(hidtel(18612345678));
//186****5678
var_dump(hidtel('01012345678'));
//01012****678