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

Méthode d'expression régulière PHP pour vérifier la validité et le sexe du numéro d'identification

王林
王林original
2023-06-24 09:36:101368parcourir

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 :

  1. Les 6 premiers chiffres sont l'indicatif régional, indiquant la région administrative où se trouve le titulaire de la carte d'identité.
  2. Les 8 chiffres suivants sont le code de date de naissance, qui représente la date de naissance du titulaire de la carte d'identité. Le format est un nombre à six chiffres, dont les deux premiers chiffres représentent l'année de naissance et les quatre derniers chiffres représentent le mois et le jour de naissance.
  3. Le 17ème chiffre est le code de genre, les nombres impairs représentent les hommes et les nombres pairs représentent les femmes.
  4. Le dernier chiffre est le code de contrôle, qui est utilisé pour vérifier l'exactitude du numéro d'identification.

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!

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