Maison  >  Article  >  développement back-end  >  Comment utiliser les expressions régulières Python pour la vérification du numéro d'identification

Comment utiliser les expressions régulières Python pour la vérification du numéro d'identification

WBOY
WBOYoriginal
2023-06-23 09:08:493489parcourir

Le numéro de carte d'identité est un symbole d'identification que nous utilisons souvent dans notre vie quotidienne. Lors du traitement de certaines données liées aux informations d'identité, il est souvent nécessaire de vérifier le numéro d'identification pour garantir sa légitimité. L'expression régulière de Python est un outil très pratique et efficace qui peut être utilisé pour vérifier rapidement les numéros d'identification. Cet article explique comment utiliser les expressions régulières Python pour la vérification du numéro d'identification.

1. Le format de base du numéro d'identification

Avant de commencer à écrire des expressions régulières, nous devons d'abord comprendre le format de base du numéro d'identification. Le numéro de carte d'identité de résident chinois se compose de 18 chiffres, dont les 17 premiers chiffres sont le code de la région et de la date de naissance, et le 18ème chiffre est le code de contrôle. Le format spécifique est le suivant :

  1. Les 1 à 6 premiers chiffres sont le code d'adresse, indiquant la zone administrative où se trouve l'enregistrement du ménage.
  2. Les 7ème à 14ème chiffres sont le code de date de naissance, indiquant la date de naissance de la personne ; naissance ;
  3. Les 15e-17e chiffres Le 18e chiffre est un code de séquence, indiquant le numéro de séquence de la carte d'identité dans la zone du code d'adresse. Le 18e chiffre est un code de contrôle, utilisé pour vérifier si l'intégralité du numéro de la carte d'identité répond aux exigences. caractéristiques.
  4. 2. Utilisez les expressions régulières Python pour vérifier les numéros d'identification

Ensuite, nous présenterons comment utiliser les expressions régulières Python pour vérifier les numéros d'identification.

(1) Présentez le module re

Lorsque vous utilisez Python pour écrire et faire correspondre des expressions régulières, vous devez d'abord introduire le module re, sa syntaxe est la suivante :

import re

(2) Écrire des expressions régulières

Écrire le numéro d'identification Les points suivants doivent être notés dans les expressions régulières :

La longueur du numéro d'identification doit être de 18 chiffres, sinon il sera jugé invalide
  1. Les 17 premiers chiffres doivent être des nombres et le dernier chiffre peut être un chiffre ; le chiffre ou la lettre X (majuscule obligatoire) ;
  2. La méthode de calcul du code de chèque est : somme pondérée des 17 premiers chiffres, divisez le résultat de la somme par 11, et le nombre correspondant au reste est le code de chèque. Si le reste est 10, le code de contrôle est la lettre X.
  3. Sur la base des facteurs ci-dessus, nous pouvons écrire l'expression régulière suivante :
pattern = r'^[1-9]d{5}[1-9]d{3}(0[1-9]|1[0-2])(0[1-9]|[1-2]d|3[0-1])d{3}[dX]$'

Parmi elles, r représente que la chaîne est une chaîne originale, ^ représente le début de la chaîne correspondante, $ représente la fin de la chaîne correspondante , [] Indique la plage de correspondance, d signifie la correspondance des caractères numériques, {n} signifie la correspondance de n caractères principaux, | signifie la correspondance de plusieurs modèles et X signifie la lettre X (majuscule requise).

(3) Utilisez le module re pour faire la correspondance

Après avoir écrit l'expression régulière, nous pouvons utiliser la fonction match() dans le module re pour faire la correspondance. La syntaxe est la suivante :

re.match(pattern, string, flags=0)

Parmi eux, le motif est le régulier. expression et string sont la chaîne qui doit être mise en correspondance, le paramètre flags peut définir le mode de correspondance (re.IGNORECASE est couramment utilisé pour indiquer que la casse est ignorée).

Un exemple complet de code Python est donné ci-dessous :

import re

id_card = '110101198001011234' # 待验证的身份证号
pattern = r'^[1-9]d{5}[1-9]d{3}(0[1-9]|1[0-2])(0[1-9]|[1-2]d|3[0-1])d{3}[dX]$'

if re.match(pattern, id_card):
    print('该身份证号合法!')
else:
    print('该身份证号不合法!')

Exécutez le code ci-dessus et le résultat de sortie est "Ce numéro d'identification est légal !", indiquant que le numéro d'identification est conforme aux spécifications.

3. Résumé

Cet article présente principalement comment utiliser les expressions régulières Python pour la vérification du numéro d'identification. Dans les applications pratiques, nous pouvons ajuster les expressions régulières selon les besoins pour nous adapter aux différentes exigences de validation des données. Dans le même temps, nous devons également prêter attention à l'efficacité de l'écriture et de la correspondance des expressions régulières pour garantir les performances et la stabilité du programme.

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