Maison > Article > développement back-end > Méthode d'expression régulière PHP pour vérifier la validité et le sexe du numéro d'identification
Le numéro d'identification est un symbole important pour l'identification des résidents de notre pays. Il peut être utilisé à de nombreuses reprises pour vérifier l'identité. Dans l'application, afin de garantir la validité et l'exactitude du numéro d'identification, celui-ci doit être vérifié par des expressions régulières. Cet article explique comment utiliser les expressions régulières PHP pour vérifier la validité et le sexe du numéro d'identification.
1. La composition et les règles du numéro de carte d'identité
Le numéro de carte d'identité est composé de 18 chiffres ou 17 chiffres plus 1 code de contrôle. Parmi eux, les 17 premiers chiffres représentent les informations du titulaire de la carte d'identité et le dernier chiffre représente le code de contrôle, qui est utilisé pour vérifier l'exactitude du numéro de la carte d'identité.
Les règles concernant les numéros de carte d'identité sont les suivantes :
2. Utilisez des expressions régulières pour vérifier le numéro d'identification
L'utilisation d'expressions régulières peut facilement vérifier la validité du numéro d'identification. Ce qui suit est un exemple d'expression régulière simple :
$pattern = '/^[1-9]d{5}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[0-9Xx]$/'; $code = '110101199001011234'; if (preg_match($pattern, $code)) { echo '身份证号码有效'; } else { echo '身份证号码无效'; }
Les règles de cette expression régulière correspondent aux règles des numéros de carte d'identité, et certains qualificatifs et classes de caractères sont utilisés. Parmi eux, ^ représente le début de la chaîne et $ représente la fin de la chaîne. [1-9] signifie que le premier chiffre ne peut pas être 0 et d{5} signifie que les 5 chiffres suivants sont des nombres. (19|20) indique que l'année de naissance du titulaire de la carte d'identité est un nombre commençant par 19 ou 20. (0[1-9]|1[012]) représente le numéro du mois de naissance 01-12. (0[1-9]|12|3[01]) représente un nombre dont la date de naissance est 01-31. d{3} signifie que les trois derniers chiffres peuvent être n'importe quel nombre, [0-9Xx] signifie que le dernier chiffre est un nombre ou une lettre X. À l'aide de cette expression régulière, vous pouvez facilement vérifier la validité du numéro d'identification.
3. Utilisez des expressions régulières pour vérifier le sexe du numéro d'identification
Le 17ème chiffre du numéro d'identification représente le sexe du titulaire de la carte d'identité, les nombres impairs représentent un homme et les nombres pairs représentent une femme. Grâce aux expressions régulières, vous pouvez facilement extraire le 17ème chiffre du numéro d'identification et déterminer son sexe.
Ce qui suit est un exemple simple :
$pattern = '/^[1-9]d{5}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])(d{3})[0-9Xx]$/'; $code = '110101199001011234'; if (preg_match($pattern, $code, $matches)) { $sex = $matches[6] % 2 == 0 ? '女' : '男'; echo '性别为' . $sex; } else { echo '身份证号码无效'; }
Cette expression régulière est la même que la précédente, sauf qu'il existe un groupe de capture supplémentaire (d{3}), qui est utilisé pour capturer le 17ème chiffre du numéro d'identification . Utilisez la variable $matches pour obtenir les informations capturées et déterminer le sexe en fonction de la parité de la 17e position.
En résumé, en utilisant des expressions régulières simples, vous pouvez facilement vérifier la validité du numéro d'identification et extraire des informations sur le sexe. Dans les applications pratiques, si des règles de vérification plus strictes et plus détaillées sont nécessaires, elles peuvent être ajustées et améliorées en fonction des besoins réels.
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!