So überprüfen Sie den Altersbereich der ID-Nummer mithilfe eines regulären PHP-Ausdrucks

PHPz
Freigeben: 2023-06-24 17:24:01
Original
1528 Leute haben es durchsucht

Die ID-Nummer ist das einzige Identitätszertifikat für chinesische Staatsbürger, das persönliche Identitätsinformationen wie das Geburtsdatum enthält. In praktischen Anwendungen ist es manchmal notwendig, den Altersbereich von ID-Nummern zu überprüfen. Reguläre PHP-Ausdrücke sind eine sehr praktische Möglichkeit, dies zu implementieren. In diesem Artikel wird erläutert, wie Sie mit regulären PHP-Ausdrücken den Altersbereich einer ID-Nummer überprüfen.

1. Struktur der Personalausweisnummer

Die Personalausweisnummer besteht aus siebzehn Zeichen und ist in sechs Teile unterteilt: Die ersten beiden Ziffern sind der Provinzcode, die mittleren vier Ziffern sind der Stadt- und Kreiscode und die nächsten beiden Ziffern sind der Jahrescode, die nächsten beiden Ziffern sind der Datumscode und die letzte Ziffer ist der Prüfcode. Die spezifische Struktur ist wie folgt:

xxxxxxxxxxxxxxxXY

Darunter sind die ersten 17 Ziffern der Hauptteil der ID-Nummer, 11643-1999 „Bürgerausweisnummer“.

2. Grundidee

Zur Altersüberprüfung der Ausweisnummer können wir das Geburtsdatum aus der Ausweisnummer ermitteln und es dann mit dem aktuellen Datum vergleichen, um das Alter des Ausweisinhabers zu berechnen. Die spezifischen Überprüfungsschritte sind wie folgt:

1. Ermitteln Sie das Geburtsdatum in einem Zeitstempel.
4. Vergleichen Sie den aktuellen Zeitstempel und den Geburtszeitstempel, um das Alter des Ausweisinhabers zu ermitteln
5. Stellen Sie fest, ob das Alter innerhalb des angegebenen Bereichs liegt.

3. Regulärer Ausdruck

Verwenden Sie die preg_match-Funktion von PHP, um das Geburtsdatum einfach in der ID-Nummer zu erhalten. Der spezifische reguläre Ausdruck lautet wie folgt:

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

wobei die Klammern des regulären Ausdrucks verwendet werden, um die übereinstimmende Teilzeichenfolge darzustellen, das d in den Klammern eine Zahl darstellt, d{6} die Übereinstimmung von sechs Ziffern darstellt, d{4} die Übereinstimmung von vier Ziffern darstellt und so weiter.

4. PHP-Code-Implementierung

Mit dem oben angegebenen regulären Ausdruck kann das Geburtsdatum über die Funktion preg_match ermittelt werden. Der spezifische Implementierungscode lautet wie folgt:

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 "身份证号码不在指定年龄范围内";
}
Nach dem Login kopieren

5. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit regulären PHP-Ausdrücken den Altersbereich der ID-Kartennummer überprüfen. Mithilfe des bereitgestellten regulären Ausdrucks können Sie das Geburtsdatum problemlos in der ID-Nummer ermitteln. Verwenden Sie dann die Zeitstempelfunktion von PHP, um das Geburtsdatum in einen Zeitstempel umzuwandeln und so das Alter des Ausweisinhabers zu berechnen. Durch die Implementierung dieses Artikels kann eine praktische Verifizierungsmethode für praktische Anwendungen bereitgestellt werden.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie den Altersbereich der ID-Nummer mithilfe eines regulären PHP-Ausdrucks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!