Maison  >  Article  >  développement back-end  >  Comment utiliser des expressions régulières en PHP pour vérifier le format du numéro d'identification

Comment utiliser des expressions régulières en PHP pour vérifier le format du numéro d'identification

王林
王林original
2023-06-23 10:31:261291parcourir

Lors de l'écriture d'applications PHP, il est parfois nécessaire d'effectuer une vérification du format sur le numéro d'identification d'entrée pour s'assurer que les données saisies par l'utilisateur sont conformes au format standard de la carte d'identité. Les expressions régulières peuvent être utilisées en PHP pour vérifier le format du numéro de carte d'identité. Cet article explique comment utiliser les expressions régulières pour réaliser cette fonction.

Tout d'abord, nous devons comprendre le format du numéro d'identification. Selon la loi chinoise, le numéro de carte d'identité comporte 18 chiffres au total, dont les 17 premiers chiffres sont des chiffres, et le dernier chiffre peut être un chiffre ou la lettre X, qui est utilisée pour vérifier si le numéro d'identification est saisi correctement. Le format du numéro d'identification est le suivant :

  1. Les deux premiers chiffres sont le code de la division administrative provinciale
  2. Les deux chiffres suivants sont le niveau de la préfecture ; code de division administrative ; #🎜 🎜#
  3. Les deux chiffres suivants sont le code de division administrative au niveau du comté
  4. est suivi du numéro à quatre chiffres de l'année de naissance ; #
  5. puis le mois à deux chiffres
  6. Le dernier est la date de naissance à deux chiffres et un numéro de série à trois chiffres.
  7. Selon les réglementations ci-dessus, nous pouvons écrire une expression régulière pour correspondre au format du numéro d'identification. La syntaxe de l'expression régulière est la suivante :
/^d{2}(0[1-9]|[1-9]d)d{2}d{4}d{2}d{2}(d{3}|d{4}[Xx])$/

où :

^ représente la position de départ de la chaîne d'entrée correspondante ; #🎜🎜 #
    d signifie correspondre à n'importe quel nombre, équivalent à [0-9] ;
  1. ^ 表示匹配输入字符串的开始位置;
  2. d 表示匹配任意数字,相当于 [0-9]
  3. {n} 表示匹配 n 次;
  4. () 表示分组,方便进行后续操作;
  5. | 表示或者,用于匹配多个选项;
  6. $ 表示匹配输入字符串的结束位置;
  7. [] 表示匹配集合中的任意字符。

根据上述正则表达式,我们可以将它作为参数传递给 PHP 内置函数 preg_match(),用于验证身份证号码格式。preg_match() 函数的语法如下:

preg_match(string $pattern, string $subject, array &$matches = null, int $flags = 0, int $offset = 0): int|false

该函数接受一个正则表达式和一个待匹配的字符串作为参数。如果成功匹配,返回 1,否则返回 0。如果函数出错,返回 false。

下面是一个验证身份证号码格式的 PHP 函数示例:

function validate_id_card(string $id_card): bool
{
    $pattern = '/^d{2}(0[1-9]|[1-9]d)d{2}d{4}d{2}d{2}(d{3}|d{4}[Xx])$/';
    return preg_match($pattern, $id_card) === 1;
}

该函数接受一个字符串参数 id_card,用于验证身份证号码格式。函数内部使用了 $pattern 变量保存了前面定义的正则表达式,并将其作为参数传递给 preg_match(){n ; } signifie faire correspondre n fois ;

() signifie regrouper pour faciliter les opérations ultérieures ; signifie ou, Utilisé pour faire correspondre plusieurs options ;

#🎜🎜#$ signifie correspondre à la position de fin de la chaîne d'entrée ; code> signifie Correspond à n’importe quel caractère de l’ensemble. #🎜🎜##🎜🎜##🎜🎜#Selon l'expression régulière ci-dessus, nous pouvons la transmettre en tant que paramètre à la fonction intégrée PHP preg_match() pour vérifier le format du numéro d'identification. preg_match() La syntaxe de la fonction est la suivante : #🎜🎜#rrreee#🎜🎜#Cette fonction accepte une expression régulière et une chaîne à faire correspondre comme paramètres. Renvoie 1 s'il y a une correspondance réussie, 0 sinon. Si une erreur se produit dans la fonction, false est renvoyé. #🎜🎜##🎜🎜#Ce qui suit est un exemple de fonction PHP qui vérifie le format d'un numéro d'identification : #🎜🎜#rrreee#🎜🎜#Cette fonction accepte un paramètre de chaîne id_card pour vérification d'identité Format du numéro de certificat. La variable $pattern est utilisée à l'intérieur de la fonction pour enregistrer l'expression régulière précédemment définie et est passée en paramètre à la fonction preg_match(). Si la fonction correspond avec succès, elle renvoie vrai, sinon elle renvoie faux. #🎜🎜##🎜🎜#Ce qui précède explique comment utiliser des expressions régulières en PHP pour vérifier le format du numéro d'identification. L'utilisation d'expressions régulières peut effectuer la vérification du format du numéro de carte d'identité de manière plus efficace et plus pratique, évitant ainsi d'avoir à écrire manuellement une logique de vérification complexe. #🎜🎜#

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