PHP利用正則表達式實現手機號碼中間4位用星號(*)替換顯示

清華大佬耗費三個月吐血整理的幾百G的資源,免費分享!....>>>

//Method 1:
function hidtel($phone){
    $IsWhat = preg_match('/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i',$phone); //固定電話
    if($IsWhat == 1){
        return preg_replace('/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i','$1****$2',$phone);
    }else{
        return  preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone);
    }
}
//Method 2:
$num = "13966778888"
$str = substr_replace($num,'****',3,4);

//實例:
 
$phonenum = "13966778888";
echo hidtel($phonenum);
 
//最后輸出:139****8888