首頁  >  文章  >  後端開發  >  如何用PHP正規表示式驗證手機號碼或座機號碼格式

如何用PHP正規表示式驗證手機號碼或座機號碼格式

WBOY
WBOY原創
2023-06-24 08:30:062445瀏覽

在開發網頁應用程式時,經常需要驗證使用者輸入的手機號碼或座機號碼格式是否正確。為了方便的進行驗證,並在使用者輸入不正確時及時給予提示,我們可以使用PHP中的正規表示式來檢測號碼的格式是否符合要求。

以下將介紹如何使用PHP正規表示式驗證手機號碼或座機號碼格式。

驗證手機號碼格式

中國大陸的手機號碼是11位數字,以1開始。可以使用如下正規表示式進行驗證:

$phone_pattern = '/^1d{10}$/';

其中:

  • #^ 表示從字串開頭開始符合
  • 1 表示必須以數字1開頭
  • d 表示符合任意數字字元
  • {10} 表示符合數字字元重複10次
  • $ 表示符合到字串結尾
##這個正規則表達式可以保證驗證11位數字和以1開頭的條件。將其應用到PHP代碼中,可以得到如下範例:

function check_mobile($mobile) {
    $phone_pattern = '/^1d{10}$/';
    if (preg_match($phone_pattern, $mobile)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$mobile = '13712341234';
if (check_mobile($mobile)) {
    echo "手机号码格式正确";
} else {
    echo "手机号码格式错误";
}

驗證座機號碼格式

座機號碼格式相對複雜,不同地區的座機號碼格式不一樣,例如北京的座機號碼為10位數字,以數字1或2開頭,上海的座機號碼為8位或9位數字,以數字2開頭等。為了實現一個通用的座機號碼格式驗證函數,需要針對不同的座機號碼格式編寫不同的正規表示式。

以下以北京和上海地區的座機號碼為例,示範如何寫出對應的正規表示式。

北京地區座機號碼

北京的座機號碼以數字1或2開頭,後面接8位數字。可以使用如下正規表示式進行驗證:

$tel_pattern = '/^(010|02d)d{8}$/';

其中:

    #^ 表示從字串開頭開始符合
  • (010|02d) 表示010或02開頭的三位數,|表示或,d表示匹配任意數字字元
  • d{8} 表示匹配8個數字字元
  • $ 表示匹配到字串結尾
#這個正規表示式可以保證驗證數字1或2開頭,並且後面是8位元數字字元的條件。將其應用到PHP程式碼中,可以得到如下範例:

function check_tel_beijing($tel) {
    $tel_pattern = '/^(010|02d)d{8}$/';
    if (preg_match($tel_pattern, $tel)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$tel = '01012345678';
if (check_tel_beijing($tel)) {
    echo "座机号码格式正确";
} else {
    echo "座机号码格式错误";
}

上海地區座機號碼

上海的座機號碼以數字2開頭,後面接8位或9位數字。可以使用如下正規表示式進行驗證:

$tel_pattern = '/^2d{7}(?:d{1})?$/';

其中:

    #^ 表示從字串開頭開始符合
  • 2 表示必須以數字2開頭
  • d{7} 表示匹配7個數字字符
  • (?:d{1})? 表示匹配1個數字字符,?:表示非捕獲組,?表示該組可選
  • $ 表示符合到字串結尾
這個正規表示式可以保證驗證數字2開頭,並且後面是8位元或9位元數字字元的條件。將其應用到PHP程式碼中,可以得到如下範例:

function check_tel_shanghai($tel) {
    $tel_pattern = '/^2d{7}(?:d{1})?$/';
    if (preg_match($tel_pattern, $tel)) {
        return true;
    } else {
        return false;
    }
}

// 示例测试
$tel = '0211234567';
if (check_tel_shanghai($tel)) {
    echo "座机号码格式正确";
} else {
    echo "座机号码格式错误";
}

總結

使用PHP正規表示式驗證手機號碼和座機號碼格式,可以有效提高Web應用程式的使用者輸入數據的準確性。本文介紹如何編寫正規表示式進行驗證,適用於大部分常見的手機號碼和座機號碼格式,也可以根據需要進行修改和擴充。

以上是如何用PHP正規表示式驗證手機號碼或座機號碼格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn