Maison > Article > développement back-end > Expression régulière PHP pour vérifier le format du numéro d'identification
Le numéro de carte d'identité est un document d'identification très important dans nos vies. C'est également une information nécessaire que nous avons souvent besoin de remplir lors de diverses transactions commerciales. Par conséquent, lors du développement d’applications Web, il est très important de vérifier l’exactitude du numéro d’identification.
En PHP, nous pouvons vérifier le format du numéro d'identification via des expressions régulières. Ci-dessous, nous présenterons en détail comment utiliser les expressions régulières pour vérifier le format du numéro d'identification.
1. Format du numéro de carte d'identité
Le numéro de carte d'identité est composé de 18 chiffres et de la lettre X. Les 17 premiers chiffres sont le code de région et le code de date de naissance de la carte d'identité, et le dernier chiffre est le code de vérification de la carte d'identité.
Le format du numéro d'identification est le suivant :
第1-6位是身份证的地区编码,由国家统计局制定; 第7-14位是身份证的出生日期,格式为YYYYMMDD; 第15-17位是身份证的顺序码,表示在当天出生的第几个人; 第18位是身份证的校验码,用于校验身份证号码的合法性。
2. Utilisez des expressions régulières pour vérifier le format du numéro d'identification
Pour utiliser des expressions régulières pour vérifier le format du numéro d'identification, vous devez comprendre la syntaxe de base d'expressions régulières.
En PHP, nous utilisons la fonction preg_match pour implémenter la correspondance d'expressions régulières. Cette fonction accepte deux paramètres, le premier paramètre est l'expression régulière à faire correspondre et le deuxième paramètre est la chaîne à faire correspondre. Si la correspondance réussit, la fonction renverra 1, sinon elle renverra 0.
L'expression régulière pour vérifier le numéro d'identification est la suivante :
/^(d{6})(19|20)(d{2})([01]d)([0123]d)(d{3})(d|X)$/i
La signification de l'expression régulière est la suivante :
/^:表示正则表达式的起始位置。 (d{6}):表示前6位数字是身份证的地区编码。 (19|20):表示身份证的出生年份必须是19或20开头。 (d{2}):表示身份证的出生月份,为两位数字。 ([01]d):表示身份证的出生日,为01-31之间的数字。由于月份和天数可能不是两位数,因此需要使用[01]d的形式,只要保证第一位是0或1就行了。 ([0123]d):表示身份证的出生年份,为01-12之间的数字。 (d{3}):表示身份证的顺序码,由三位数字组成。 (d|X):表示身份证的校验码,只能是数字或字母X。 $/i:表示正则表达式的结束位置。
Ce qui suit est un exemple de code PHP :
function check_id_card($id_card){ $preg = "/^(d{6})(19|20)(d{2})([01]d)([0123]d)(d{3})(d|X)$/i"; if(preg_match($preg, $id_card)){ return true; }else{ return false; } }
Cette fonction accepte un paramètre $id_card, qui représente le numéro d'identification à vérifier. Il utilise la fonction preg_match et l'expression régulière ci-dessus pour effectuer la correspondance si la correspondance réussit, la fonction renvoie vrai, sinon elle renvoie faux.
Ce qui précède explique comment utiliser des expressions régulières pour vérifier le format du numéro d'identification. Lors du développement d'applications Web, nous pouvons encapsuler cette fonction dans une bibliothèque de fonctions publique pour faciliter son appel sur plusieurs pages. Cela peut améliorer l'efficacité du développement et garantir la sécurité des applications Web.
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!