ホームページ >バックエンド開発 >PHPチュートリアル >ID番号の誕生日情報を検証するPHP正規表現

ID番号の誕生日情報を検証するPHP正規表現

王林
王林オリジナル
2023-06-24 14:22:031493ブラウズ

IDカード番号は日常生活でよく使われる本人確認ツールであり、そこに含まれる誕生日情報も非常に重要です。 PHP を使用して ID 番号を検証する場合、多くの場合、誕生日情報が正しいかどうかを判断する必要があります。この記事では、PHPの正規表現を使ってID番号の誕生日情報を確認する方法を紹介します。

1. ID 番号の基本形式

ID 番号は 18 桁の数字と文字の文字列で、最後の 1 桁は数字または文字、大文字または小文字の場合があります。 . .最初の 17 桁は ID カードの主要部分で、ID カードの地域、生年月日、性別などの情報が含まれます。 ID番号の基本形式は、

市外局番6桁、生年月日8桁、連番コード3桁、チェックコード1桁

このうち、生年月日は 19880101 などの純粋な数値形式であるため、正規表現を使用して ID 番号の 18 桁の文字列を次の 4 つの部分に分割できます:

$region_code // 6 桁の地域code
$birthday // 8桁の誕生年、月、日
$sequence_code // 3桁のシーケンスコード
$verify_code // 1桁のチェックコード

2.誕生日情報を検証するためのPHP正規表現

検証時 ID番号の誕生日情報を取得する場合、正規表現を用いて生年月日、月、年を抽出し、適合するかどうかを判定する必要があります。指定された形式。

IDカード番号のうち、生年月日の位置は7日から14日なので、substr()関数を使って8桁の文字列を抽出し、正規表現で検証することができます。 。

次は、生年月日を年、月、日を確認するための正規表現です:

$birthday_pattern = '/^(19d{2}|20d{2})(0[1 -9]|1 [012])(0[1-9]|[12]d|3[01])$/';

ここで:

^: 始まりを示します一致する文字列
(19d{2}|20d{2}): 19XX または 20XX 年と一致することを示します
(0[1-9]|1[012]): 01 ~ 12 月と一致することを示します
(0[1 -9]|[12]d|3[01]): 01 ~ 31 日の一致を示します。
$: 文字列の末尾の一致を示します。

8- を変更します。 ID 番号の生年月日の桁 上記の正規表現と照合し、照合に成功した場合は、その誕生日情報が正当であることを意味します。

以下は完全な PHP コード例です:

function validate_birthday($id_card)
{

$birthday_pattern = '/^(19d{2}|20d{2})(0[1-9]|1[012])(0[1-9]|[12]d|3[01])$/';

$birthday_string = substr($id_card, 6, 8);

if (preg_match($birthday_pattern, $birthday_string)) {
    return true;
} else {
    return false;
}

}

この関数を ID に使用しますID 番号を確認するときは、ID 番号の文字列を渡すだけです:

if (validate_birthday('440524199312220058')) {

echo '生日信息正确';

} else {

echo '生日信息错误';

}

上記の方法により、ID 番号の誕生日情報が正当なものであるかどうかを迅速かつ正確に検証することができ、ID 番号の正当性を保証することができます。

以上がID番号の誕生日情報を検証するPHP正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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