Maison  >  Article  >  développement back-end  >  Comment vérifier le numéro de carte d'identité à l'aide de l'expression régulière PHP

Comment vérifier le numéro de carte d'identité à l'aide de l'expression régulière PHP

PHPz
PHPzoriginal
2023-06-24 12:01:072202parcourir

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 '身份证号码不合法';
}

Dans le code ci-dessus, $pattern est l'expression régulière que nous venons de définir et $id_number est le numéro d'identification saisi par l'utilisateur. La fonction preg_match vérifiera le numéro d'identification saisi par l'utilisateur via des expressions régulières et renverra le résultat correspondant. Si la correspondance réussit, « Le numéro de carte d'identité est légal » est affiché, sinon « Le numéro de carte d'identité est illégal » est affiché.

4. Résumé

Grâce à cet article, nous avons appris à utiliser les expressions régulières PHP pour vérifier les numéros d'identification. Bien que les règles relatives aux numéros d'identification soient relativement compliquées, la vérification peut être facilement mise en œuvre à condition de maîtriser la syntaxe de base des expressions régulières et les règles relatives aux numéros d'identification. Dans les applications pratiques, nous pouvons également personnaliser nos propres expressions régulières selon les besoins pour répondre à différents besoins de vérification.

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!

Déclaration:
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