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

PHP 格式化美國電話號碼:7 位與 10 位數字自動加分隔符

     編輯:PHP 相關知識

PHP 格式化美國電話號碼:7 位與 10 位數字自動加分隔符

function format_phone($phone) {
    $phone = preg_replace('/[^0-9]/', '', $phone); // 只保留數字
    if (strlen($phone) == 7) {
        return preg_replace('/([0-9]{3})([0-9]{4})/', '$1-$2', $phone);      // 123-4567
    } elseif (strlen($phone) == 10) {
        return preg_replace('/([0-9]{3})([0-9]{3})([0-9]{4})/', '($1) $2-$3', $phone); // (123) 456-7890
    }
    return $phone; // 非標準長度原樣返回
}

// 測試
echo format_phone('1234567');       // 123-4567
echo format_phone('1234567890');    // (123) 456-7890
echo format_phone('+1 (123) 456-7890'); // (123) 456-7890

說明

  • 先移除所有非數字字符。
  • 7 位視為本地號碼,格式 XXX-XXXX。
  • 10 位視為長途號碼,格式 (XXX) XXX-XXXX。
  • 中國手機號(11 位)需自行修改正則,如 /^1\d{10}$/ 格式化為 1XX-XXXX-XXXX。

此函數適合快速清洗用戶輸入的電話號碼,統一存儲格式。

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