首頁 >後端開發 >php教程 >PHP正規表示式驗證身分證號碼的地區碼的方法

PHP正規表示式驗證身分證號碼的地區碼的方法

王林
王林原創
2023-06-24 09:16:291151瀏覽

身分證號碼是公民身分證件的唯一標識,其中地區碼是身分證號碼中的重要部分。在PHP中,我們可以使用正規表示式來驗證身分證號碼中的地區碼是否正確。以下將介紹一種驗證身分證號碼地區碼的方法。

首先,我們需要了解身分證號碼中地區碼的編碼規則。身分證號碼中前六位數字代表地區編碼,其中前兩位表示省(自治區、直轄市)代碼,第三位表示市(地區)代碼,後三位表示縣(區)代碼。其中,每個省市都有對應的編碼列表,我們可以透過查詢相關資料取得。

在進行身分證號碼地區碼驗證之前,需要將對應省市的地區編碼清單儲存在一個陣列中,如下所示:

$region_codes = array(
    '110000', '120000', '130000', '140000', '150000', '210000', '220000', '230000', '310000', '320000',
    '330000', '340000', '350000', '360000', '370000', '410000', '420000', '430000', '440000', '450000',
    '460000', '500000', '510000', '520000', '530000', '540000', '610000', '620000', '630000', '640000',
    '650000', '710000', '810000', '820000'
);

然後,我們可以使用正規表示式來符合身分證號碼中的地區碼是否合法。此正規表示式可以定義為:

$pattern = '/^[1-9][0-9]{5}$/';

此正規表示式的意思是:以非零開頭的6位元數字。其中,第一位數字不能為0,後面的5位數字可以為任意數字。

接著,我們可以寫一個驗證身分證號碼地區碼的函數,如下所示:

function validateRegionCode($region_code) {
    global $region_codes;
    if (in_array($region_code, $region_codes)) {
        return true;
    } else {
        return false;
    }
}

該函數接受一個參數$region_code,用來表示身分證號碼中的地區碼。函數中使用了一個全域變數$region_codes,表示已定義的地區編碼清單。函數透過in_array函數判斷$region_code是否在$region_codes數組中,如果是,則表示該地區碼合法,回傳true;否則,表示該地區碼不合法,回傳false。

最後,我們可以使用該函數來驗證身分證號碼中的地區碼是否合法,如下所示:

$region_code = substr($id_card, 0, 6); // 截取身份证号码中的地区码
if (validateRegionCode($region_code)) {
    echo '该身份证号码的地区码合法!';
} else {
    echo '该身份证号码的地区码不合法!';
}

在上述程式碼中,我們首先透過substr函數截取身分證號碼中的地區碼,然後呼叫validateRegionCode函數來驗證地區碼是否合法。如果該地區碼合法,則輸出相應的提示訊息。

總結來說,透過上述介紹的方法,我們可以使用PHP正規表示式來驗證身分證號碼中的地區碼是否合法。這種方法既簡單又實用,可以有效提高身分證號碼的驗證效率和準確性。

以上是PHP正規表示式驗證身分證號碼的地區碼的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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