ホームページ >バックエンド開発 >PHPチュートリアル >PHP 正規表現を使用して、入力文字列が正しい ID 番号、パスポート番号、または香港およびマカオのパス形式であるかどうかを確認する方法

PHP 正規表現を使用して、入力文字列が正しい ID 番号、パスポート番号、または香港およびマカオのパス形式であるかどうかを確認する方法

PHPz
PHPzオリジナル
2023-06-24 10:36:042691ブラウズ

ID カード、パスポート、香港およびマカオのパス番号はすべて重要な個人証明書であり、個人情報の安全性を確保するために、ユーザーが入力した ID 番号が標準に準拠しているかどうかをシステムで検証する必要があります。フォーマット。 PHP 正規表現は、この目的を簡単に達成できる非常に強力なツールです。この記事では、PHP 正規表現を使用して、ユーザーが入力した ID 番号、パスポート番号、香港およびマカオのパス番号を検証する方法を紹介します。

1. ID カード番号形式の確認

ID 番号は 18 桁の数字で、最後の 1 桁は数字または文字 X です。 ID番号の最初の17桁は市外局番と生年月日を組み合わせたもので、正規表現で確認できます。 ID 番号を確認するための正規表現を見てみましょう:

$reg = '/^d{17}[dX]$/';

ここで、^ と $ はそれぞれ文字列の先頭と末尾を表します。 d は数値を表します。{17} は、前の d が 17 回出現する必要があることを意味します。 [dX] は、最後の桁が数字または文字 X であることを意味します。 / と / の間の部分は正規表現の内容を表し、必要に応じて調整できます。

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

中国のパスポート番号は 1 つの大文字と 7 桁の数字で構成され、外国のパスポート番号は大文字と数字の任意の桁で構成されます。パスポート番号を確認するための正規表現を見てみましょう:

// 中国护照号码验证
$reg_cn_passport = '/^[A-Z]d{7}$/';
// 外国护照号码验证
$reg_foreign_passport = '/^[A-Z0-9]+$/';

このうち、[A-Z] は大文字の一致を意味し、d は数字の一致を意味し、1 回以上の一致を意味します。上記の 2 つの正規表現は、それぞれ中国のパスポート番号と外国のパスポート番号の検証ルールを表します。

3. 香港とマカオのパス番号形式の検証

香港とマカオのパス番号は、文字 K または M からなる 8 桁で構成されています。検証用の正規表現を見てみましょう。香港とマカオのパス番号:

$reg = '/^[KM]d{8}$/';

このうち、[KM] は K または M の文字が一致することを意味し、d は数字が一致することを、{8} は数字が 8 回一致することを意味します。この正規表現は、香港およびマカオのパス番号の形式が正しいかどうかを確認するために使用されます。

上記は、ID カード番号、パスポート番号、香港およびマカオのパス番号の形式を検証するための正規表現です。データベース操作、フォーム検証などの場合、これらの正規表現を検証に使用できます。 PHP の preg_match() 関数は、正規表現のマッチングに使用できます。具体的な使用法は次のとおりです:

// 身份证号码验证
$id_number = '123456789012345678'; // 待验证的身份证号码
$reg = '/^d{17}[dX]$/'; // 身份证号码验证正则表达式
if (preg_match($reg, $id_number)) {
    echo '身份证号码格式正确';
} else {
    echo '身份证号码格式错误';
}

// 护照号码验证
$passport_number = 'A1234567'; // 待验证的护照号码
$reg = '/^[A-Z]d{7}$/'; // 护照号码验证正则表达式
if (preg_match($reg, $passport_number)) {
    echo '护照号码格式正确';
} else {
    echo '护照号码格式错误';
}

// 港澳通行证号码验证
$hk_macau_passport_number = 'K12345678'; // 待验证的港澳通行证号码
$reg = '/^[KM]d{8}$/'; // 港澳通行证号码验证正则表达式
if (preg_match($reg, $hk_macau_passport_number)) {
    echo '港澳通行证号码格式正确';
} else {
    echo '港澳通行证号码格式错误';
}

上記のコードは、preg_match() 関数を使用して、ID 番号、パスポート番号、香港の正規表現のマッチングを実行します。とマカオパス番号を入力すると、入力された ID 番号が標準形式に準拠しているかどうかをすぐに判断できます。

概要

この記事では、PHP 正規表現を使用して、ユーザーが入力した ID 番号、パスポート番号、香港およびマカオのパス番号が標準形式に準拠しているかどうかを確認する方法を紹介します。正規表現は非常に重要なスキルであり、テキスト操作の処理やフォーム検証で広く使用されています。この記事の内容を学ぶことで、PHP 正規表現の応用についての理解が深まると思います。

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

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