首頁 >後端開發 >php教程 >PHP正規表示式驗證輸入字串是否為正確的身分證、護照或駕照號碼格式

PHP正規表示式驗證輸入字串是否為正確的身分證、護照或駕照號碼格式

PHPz
PHPz原創
2023-06-24 16:28:281446瀏覽

在許多網站中,使用者需要輸入一些個人資訊,如身分證字號、護照號碼、駕照號碼等。對這些資訊進行格式驗證是非常必要的,這樣可以避免使用者輸入錯誤的數據,影響數據的準確性。本文將介紹如何使用PHP正規表示式來驗證輸入的字串是否為正確的身分證、護照或駕照號碼格式。

  1. 驗證身分證號碼

身分證號碼是一串18位數字或數字加字母組合,其中最後一位可能是數字或字母X。身分證號碼的結構如下:

  • 前6位是位址碼;
  • 接下來的8位元是出生日期碼;
  • 最後的4位數是順序碼。

使用正規表示式來驗證身分證號碼的格式,可以使用下列程式碼:

function checkIDCard($id)
{
    if (!preg_match("/^d{17}[d|x]$|^d{15}$/i", $id)) {
        return false;
    }
    return true;
}

首先,這個函數使用preg_match函數來匹配正規表示式。正規表示式中使用了"|"(選項)操作符,表示可以有兩種驗證方式。第一種方式,身分證號碼是18位數或數字加字母組合,最後一位可能是數字或字母X。第二種方式,身分證號碼是15位數。

  1. 驗證護照號碼

護照號碼是一串由數字和字母組成的字串,通常是6到9位。護照號碼的結構如下:

  • 前兩位是發行國代碼,通常是英文縮寫;
  • 中間的數字是個人識別碼;
  • 最後的數字是校驗碼。

使用正規表示式來驗證護照號碼的格式,可以使用以下程式碼:

function checkPassport($passport)
{
    if (!preg_match('/^[A-Za-z0-9]{6,9}$/', $passport)) {
        return false;
    }
    return true;
}

這個函數使用了preg_match函數來匹配正規表示式。正規表示式中使用了"[]"(字元集)運算符,表示符合其中任意一個字元。這裡只匹配了數字和大小寫字母,加起來6到9位。

  1. 驗證駕照號碼

駕照號碼是一串由數字和字母組成的字串,通常是12位。駕照號碼的結構如下:

  • 前一位是字母;
  • 中間4位是數字;
  • 後面7位是數字或字母組合。

使用正規表示式來驗證駕照號碼的格式,可以使用以下程式碼:

function checkDriverLicense($license)
{
    if (!preg_match('/^[A-Za-z][0-9]{4}[A-Za-z0-9]{7}$/', $license)) {
        return false;
    }
    return true;
}

這個函數使用了preg_match函數來匹配正規表示式。正規表示式中先符合一個字母,再配對4個數字,最後將7個數字或字母組合配對。

總結

以上就是使用PHP正規表示式驗證身分證、護照和駕照號碼格式的方法。在進行正規表示式驗證的時候,要注意正規表示式的語法,以及驗證類型。如果使用不當可能無法正確驗證數據,造成數據的不準確性。

以上是PHP正規表示式驗證輸入字串是否為正確的身分證、護照或駕照號碼格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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