Maison  >  Article  >  développement back-end  >  Comment vérifier la tranche d'âge du numéro d'identification à l'aide de l'expression régulière PHP

Comment vérifier la tranche d'âge du numéro d'identification à l'aide de l'expression régulière PHP

PHPz
PHPzoriginal
2023-06-24 13:00:471562parcourir

Le numéro d'identification est le seul certificat d'identité pour les citoyens chinois, qui contient des informations d'identité personnelles telles que la date de naissance. Dans les applications pratiques, il est parfois nécessaire de vérifier la tranche d'âge des numéros d'identification. Les expressions régulières PHP sont un moyen très pratique de l'implémenter. Cet article explique comment utiliser les expressions régulières PHP pour vérifier la tranche d'âge d'un numéro d'identification.

1. Structure du numéro de carte d'identité

Le numéro de carte d'identité se compose de dix-sept caractères et est divisé en six parties : les deux premiers chiffres sont le code de la province et les quatre du milieu les chiffres sont le code de la ville et du comté, les deux chiffres suivants sont le code de l'année, les deux chiffres suivants sont le code du mois, les deux chiffres suivants sont le code de la date et le dernier chiffre est le code de contrôle. La structure spécifique est la suivante :

xxxxxxxxxxxxxxXY

Parmi eux, les 17 premiers chiffres constituent la partie principale du numéro d'identification, X est n'importe quel nombre des 17 premiers chiffres de le numéro d'identification, et Y est le code de vérification du certificat d'identité, sa méthode de calcul peut se référer aux dispositions de la norme nationale GB 11643-1999 "Citizen Identity Card Number".

2. Idée de base

Pour la vérification de l'âge du numéro d'identification, nous pouvons obtenir l'année, le mois et le jour de naissance à partir du numéro d'identification, puis le comparer avec le numéro d'identification actuel. date à calculer L'âge du titulaire de la carte d'identité. Les étapes de vérification spécifiques sont les suivantes :

1. Obtenez la date de naissance dans le numéro d'identification via des expressions régulières
2. 3. Calculez l'horodatage actuel à partir de la date actuelle ;
4. Comparez l'horodatage actuel et l'horodatage de naissance pour obtenir l'âge du titulaire de la carte d'identité
5.

3. Expression régulière

L'utilisation de la fonction preg_match de PHP peut facilement obtenir la date de naissance dans le numéro d'identification. L'expression régulière spécifique est la suivante :

/(d{6})(d{4})(d{2})(d{2})d{2}(d)(d |x )/i

Parmi eux, les parenthèses de l'expression régulière sont utilisées pour indiquer la sous-chaîne correspondante, le d entre parenthèses indique un nombre, d{6} indique six nombres correspondants et d {4} indique la correspondance de quatre nombres, et ainsi de suite.

4. Implémentation du code PHP

En utilisant l'expression régulière fournie ci-dessus, vous pouvez obtenir la date de naissance via la fonction preg_match. Le code d'implémentation spécifique est le suivant :

function getAgeByIdCard($idCard, $minAge, $maxAge)
{
    // 通过正则表达式获取身份证号码的出生年月日
    if (preg_match('/(d{6})(d{4})(d{2})(d{2})d{2}(d)(d|x)/i', $idCard, $matches))
    {
        list(,$birthYear,$birthMonth,$birthDay) = $matches;

        // 将出生年月日转化为时间戳
        $birthTimestamp = strtotime("{$birthYear}-{$birthMonth}-{$birthDay}");

        // 计算当前时间戳
        $currentTimestamp = time();

        // 计算身份证持有者的年龄
        $age = floor(($currentTimestamp - $birthTimestamp) / 31536000);

        // 判断年龄是否在指定范围内
        if ($age >= $minAge && $age <= $maxAge) {
            return true;
        }
    }
    
    return false;
}

// 身份证号码
$idCard = "320123199001011234";
// 最小年龄
$minAge = 18;
// 最大年龄
$maxAge = 60;

// 验证身份证号码是否在指定年龄范围内
if (getAgeByIdCard($idCard, $minAge, $maxAge)) {
    echo "身份证号码通过验证";
} else {
    echo "身份证号码不在指定年龄范围内";
}

5. Résumé

Cet article explique comment utiliser les expressions régulières PHP pour vérifier la tranche d'âge du numéro d'identification. Grâce à l'expression régulière fournie, vous pouvez facilement obtenir la date de naissance dans le numéro d'identification. Utilisez ensuite la fonction d'horodatage de PHP pour convertir la date de naissance en horodatage, calculant ainsi l'âge du titulaire de la carte d'identité. Grâce à la mise en œuvre de cet article, une méthode de vérification pratique peut être fournie pour des applications pratiques.

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