ホームページ >バックエンド開発 >PHPチュートリアル >入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認するための PHP 正規表現

入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認するための PHP 正規表現

PHPz
PHPzオリジナル
2023-06-24 12:11:581930ブラウズ

ID カード番号とパスポート番号は、人々の生活の中でよく使われる文書番号です。これらの文書番号に関連する機能を実装する場合、多くの場合、入力された番号の形式検証を実行して、その正確性を確認する必要があります。 PHP では、この機能を実現するために正規表現を使用することができますが、この記事では、PHP の正規表現を使用して、入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認する方法を紹介します。

1. ID 番号の確認

ID 番号は 18 桁で構成され、最後の 1 桁は文字 (チェックコード) の場合があり、その形式は次のとおりです。最初の6桁はIDカードの発行地を示す市外局番、

7~14桁は生年月日、7~10桁は西暦、11~14桁は西暦を表します。 12桁目は月、13桁目と14桁目は日付を表し、

の15桁目から17桁目はシーケンス番号で、地域で発行された証明書の通し番号と日付を示し、最後の桁は日付を表します。

チェックコードは主に最初の 17 桁が国家規格に準拠しているかどうかを確認するために使用されます。

上記の ID 番号の形式に従って、正規表現を使用して検証することができます。具体的な実装コードは次のとおりです。

function validateIDCard($idCard) {
    $pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]d|3[0-1])d{3}[0-9X]$/';
    if (preg_match($pattern, $idCard)) {
        return true;
    } else {
        return false;
    }
}

上記のコードでは、preg_match() 関数と正規表現を使用して ID 番号の形式を検証しています。 $pattern 変数には、ID 番号の形式を検証するために使用される正規表現が格納されます。ここで、d は数字を表し、| は or を表し、[0-9X] は最後の桁が数字または大文字の X であることを表します。入力文字列が正規表現の形式、つまりID番号の形式に準拠している場合はtrueが返され、そうでない場合はfalseが返されます。

2. パスポート番号の確認

パスポート番号は数字と文字で構成されており、その形式は次のとおりです:

1 文字目から 2 文字目までは英字で、パスポートの発行国;

3文字目から5文字目はパスポートの種類を示す数字または文字;

6文字目から14文字目はパスポートの個人情報を示す数字;

最後の文字は数字または文字で、チェックサムです。

入力文字列がパスポート番号の形式に準拠しているかどうかを確認する必要がある場合は、PHP 正規表現を使用することもできます。具体的な実装コードは次のとおりです。

function validatePassport($passport) {
    $pattern = '/^[a-zA-Z]{2}d{3}[a-zA-Z0-9]{9}$/';
    if (preg_match($pattern, $passport)) {
        return true;
    } else {
        return false;
    }
}

上記のコードでは、パスポート番号の形式を確認するために preg_match() 関数と正規表現も使用されています。 $pattern 変数には、パスポート番号の形式を検証するために使用される正規表現が格納されます。ここで、[a-zA-Z] は英語の文字を表し、d は数字を表し、[a-zA-Z0-9] は数字と文字の両方を表します。入力文字列が正規表現の形式、つまりパスポート番号の形式に準拠している場合は true が返され、そうでない場合は false が返されます。

概要

上記のコードからわかるように、PHP 正規表現を使用して ID 番号とパスポート番号の形式を確認すると非常に便利です。開発者は、アプリケーションのシナリオに基づいてカスタマイズした変更や最適化を行うことができ、さまざまな検証要件を満たす必要があります。

以上が入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認するための PHP 正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。