Le numéro d’identification est une information très importante et sensible, qui stocke la date de naissance, le sexe, le lieu d’origine et bien d’autres informations d’une personne. Il devient particulièrement important d'utiliser des expressions régulières en PHP pour faire correspondre la date de naissance dans le numéro d'identification. Cet article expliquera comment utiliser des expressions régulières pour faire correspondre la date de naissance dans le numéro de carte d'identité en PHP sous les trois aspects suivants.
1. Format du numéro de carte d'identité
Le format du numéro de carte d'identité est soumis à certaines réglementations, notamment les informations suivantes :
Le numéro d'identification comporte 18 chiffres au total, dont les 17 premiers chiffres sont des chiffres ou des lettres majuscules, et le dernier chiffre peut être un chiffre ou une lettre majuscule X. Par conséquent, avant d'utiliser des expressions régulières pour faire correspondre la date de naissance dans le numéro d'identification, vous devez comprendre le format du numéro d'identification.
2. Utilisation d'expressions régulières
En PHP, utilisez la fonction preg_match pour appeler des expressions régulières pour faire correspondre les numéros d'identification. Afin de faire correspondre la date de naissance, vous devez utiliser des parenthèses () pour regrouper l'année, le mois et le jour de naissance, et utiliser le caractère générique correspondant dans l'expression régulière, comme indiqué ci-dessous :
$pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[dX]$/';
où :
^
signifie correspondre Le début de la chaîne ^
表示匹配字符串的开始;d{6}
匹配前六位省份、城市信息;(19|20)
匹配出生年份的前两位,限制为 19 或 20;d{2}
匹配出生年份的后两位;(0[1-9]|1[012])
匹配出生月份,限制范围为 01-12;(0[1-9]|[12][0-9]|3[01])
匹配出生日期,限制范围为 01-31;d{3}
匹配身份证号码的最后三位校验码;[dX]
匹配身份证号码的最后一位,可能是数字或大写字母X;$
d{6}
correspond aux six premières informations sur la province et la ville (19|20)</ code> correspond aux deux premiers chiffres de l'année de naissance, les restrictions sont 19 ou 20 ; </p><p><code>d{2}
correspond aux deux derniers chiffres de l'année de naissance
(0) [1-9]|1[012])
correspond au mois de naissance, la plage limite est 01-12 ; [01]) correspond à la date de naissance, la plage limite est 01-31 ;
d{3}
correspond aux trois derniers chiffres du numéro d'identification
; [dX]
correspond au dernier chiffre du numéro d'identification, qui peut être des chiffres ou la lettre majuscule X ; 🎜🎜$
signifie correspondre à la fin de la chaîne. 🎜🎜🎜3. Implémentation du code🎜🎜 Vous pouvez utiliser la fonction preg_match et l'expression régulière ci-dessus pour faire correspondre le numéro d'identification et utiliser des parenthèses pour regrouper la date, le mois et le jour de naissance. Le code est le suivant : 🎜$id_card = '34052419951117258X'; // 身份证号码 $pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[dX]$/'; // 正则表达式 if (preg_match($pattern, $id_card, $matches)) { $birth_year = $matches[1] . $matches[2]; // 出生年份 $birth_month = $matches[3]; // 出生月份 $birth_day = $matches[4]; // 出生日期 echo "出生日期:{$birth_year}-{$birth_month}-{$birth_day}"; // 输出 } else { echo "身份证号码格式不正确"; }
出生日期:1995-11-17
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!