首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 隱藏手機號碼中間四位數字的兩種實現方式:正則替換與 substr_replace

     編輯:PHP 相關知識

PHP 手機號碼脫敏處理:中間四位替換為星號

方法一:正則表達式替換(支援手機與固話)

function hidtel($phone) {
    // 固定電話格式:0xx-xxxxxxx 或 0xxx-xxxxxxxx
    $isLandline = preg_match('/(0[0-9]{2,3}[-]?[2-9][0-9]{6,7}[-]?[0-9]?)/i', $phone);
    if ($isLandline) {
        return preg_replace('/(0[0-9]{2,3}[-]?[2-9])[0-9]{3,4}([0-9]{3}[-]?[0-9]?)/i', '$1****$2', $phone);
    } else {
        // 手機號:13/15/18 開頭,11 位
        return preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i', '$1****$2', $phone);
    }
}

方法二:字符串截取替換(簡潔高效)

$num = "13966778888";
$masked = substr_replace($num, '****', 3, 4); // 從第 4 位開始替換 4 個字符
// 結果:139****8888

使用示例

$phonenum = "13966778888";
echo hidtel($phonenum); // 輸出:139****8888
echo substr_replace($phonenum, '****', 3, 4); // 同上

擴展:隱藏中間五位

function suohao($phone) {
    return substr($phone, 0, 3) . '*****' . substr($phone, 8, 3);
}

根據業務需求選擇:正則版可同時處理固話與手機,截取版效能更高且代碼簡潔。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved