Maison > développement back-end > tutoriel php > Comment faire correspondre la date de naissance dans le numéro d'identification en PHP à l'aide d'expressions régulières

Comment faire correspondre la date de naissance dans le numéro d'identification en PHP à l'aide d'expressions régulières

王林
Libérer: 2023-06-22 22:32:01
original
1975 Les gens l'ont consulté

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 :

  1. Les deux premiers représentent la province ;
  2. Les deux du milieu représentent la ville ou la ville au niveau du comté ;
  3. Le prochain chiffre est l'année de naissance ;
  4. Les deux chiffres suivants représentent le mois de naissance ;
  5. Les deux chiffres suivants représentent la date de naissance ;
  6. Il y a aussi un code de contrôle.

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]$/';
Copier après la connexion

où :

  1. ^ signifie correspondre Le début de la chaîne ^ 表示匹配字符串的开始;
  2. d{6} 匹配前六位省份、城市信息;
  3. (19|20) 匹配出生年份的前两位,限制为 19 或 20;
  4. d{2} 匹配出生年份的后两位;
  5. (0[1-9]|1[012]) 匹配出生月份,限制范围为 01-12;
  6. (0[1-9]|[12][0-9]|3[01]) 匹配出生日期,限制范围为 01-31;
  7. d{3} 匹配身份证号码的最后三位校验码;
  8. [dX] 匹配身份证号码的最后一位,可能是数字或大写字母X;
  9. $
  10. 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 "身份证号码格式不正确";
}
Copier après la connexion
🎜Le résultat de sortie du code ci-dessus est : 🎜
出生日期:1995-11-17
Copier après la connexion
🎜Cet article présente la méthode d'utilisation d'expressions régulières pour faire correspondre la date de naissance dans le numéro de carte d'identité en PHP à laquelle vous devez faire attention. l'écriture d'expressions régulières et les restrictions de format du numéro de certificat d'identité. En tant qu'outil puissant de correspondance de chaînes, les expressions régulières sont largement utilisées en PHP. 🎜

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal