PHP, en tant que langage de programmation très populaire, fournit de puissantes fonctions d'expression régulière qui peuvent être utilisées pour vérifier divers formats de données saisis par les utilisateurs. Parmi eux, la vérification du numéro d'identification est une exigence très courante, car le numéro d'identification est le seul identifiant d'identité et nécessite une vérification stricte dans de nombreux scénarios d'application. Cet article explique comment utiliser les expressions régulières PHP pour vérifier les numéros d'identification.
1. Obtenir le numéro d'identification
Avant de commencer à vérifier le numéro d'identification, nous devons obtenir le numéro d'identification saisi par l'utilisateur. Il peut être obtenu via la soumission de formulaires, la transmission de paramètres API, etc., qui ne seront pas décrits ici. Supposons que le numéro d’identification que nous avons obtenu est $id_number.
2. Règles pour les numéros d'identification
Avant d'effectuer une vérification par expression régulière, nous devons d'abord comprendre les règles pour les numéros d'identification. Le numéro de carte d'identité est composé de 18 chiffres et lettres. Les 17 premiers chiffres comprennent la province, la ville, le comté (district) et d'autres informations, et le dernier chiffre est un code de contrôle. Les règles spécifiques sont les suivantes :
1. Les 1 et 2 premiers chiffres représentent : le code de division administrative de la province où vous vous situez ;
2. 4 chiffres représentent : le code de division administrative de la ville où vous vous situez. Code de division
3. Les 5ème et 6ème chiffres indiquent : le code de division administrative du district (comté) ; #
4. Les 7ème à 14ème chiffres indiquent : l'année et le mois de naissance Jour, par exemple, 701230 signifie le 30 décembre 1970 5. du commissariat local 6. Le 18ème chiffre est l'école Le code de vérification est calculé à partir des 17 premiers chiffres. Selon les règles ci-dessus, nous pouvons obtenir l'expression régulière du numéro d'identification : /^[1-9]d{5}(19|20)d { 2}((0[1-9])|(1[0-2]))((0[1-9])|([1-2]d)|(3[0-1])) d {3}[0-9xX]$/ Analysons cette expression régulière une par une. Tout d'abord, ^ représente la position de départ de la chaîne correspondante et $ représente la position de fin de la chaîne correspondante. Cela garantit que la chaîne entière est conforme aux règles du numéro d'identification. Ensuite, [1-9]d{5} représente les 6 premiers chiffres du numéro d'identification, qui peut être n'importe quel nombre de 1 à 9, suivi de 5 chiffres. Il s'agit en fait du code de division administrative d'une province, d'une ville ou d'un comté (district). Ensuite, (19|20)d{2} représente les 8 à 9 premiers chiffres du numéro d'identification, qui peut être 19 ou 20, suivis de 2 chiffres. Cela indique l'année de naissance. Suivant, ((0[1-9])|(1[0-2])) représente les 10 à 11 premiers chiffres du numéro d'identification, qui peut être n'importe quel nombre compris entre 01 et 12. . Cela indique le mois de naissance. Ensuite, ((0[1-9])|([1-2]d)|(3[0-1])) représente les 12 à 13 premiers chiffres du numéro d'identification, Il peut s'agir de n'importe quel nombre compris entre 01 et 31, qui représente la date de naissance. Ensuite, d{3} représente les 14 à 16 premiers chiffres du numéro d'identification, qui est le code du poste de police local, et peut comporter 3 chiffres. Enfin, [0-9xX] représente le dernier chiffre du numéro d'identification, qui peut être 0~9 ou x ou X. C'est le code de contrôle. 3. Utilisation des expressions régulières PHP Après avoir compris les règles et les expressions régulières du numéro d'identification, nous pouvons utiliser la fonction preg_match de PHP pour vérifier le numéro d'identification saisi par l'utilisateur. L'utilisation spécifique est la suivante :$pattern = '/^[1-9]d{5}(19|20)d{2}((0[1-9])|(1[0-2]))((0[1-9])|([1-2]d)|(3[0-1]))d{3}[0-9xX]$/'; if(preg_match($pattern, $id_number)) { echo '身份证号码合法'; } else { echo '身份证号码不合法'; }
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!