Heim > Backend-Entwicklung > PHP-Tutorial > So überprüfen Sie die ID-Kartennummer mithilfe eines regulären PHP-Ausdrucks

So überprüfen Sie die ID-Kartennummer mithilfe eines regulären PHP-Ausdrucks

PHPz
Freigeben: 2023-06-24 16:38:02
Original
2257 Leute haben es durchsucht

PHP bietet als sehr beliebte Programmiersprache leistungsstarke reguläre Ausdrucksfunktionen, mit denen verschiedene von Benutzern eingegebene Datenformate überprüft werden können. Unter diesen ist die Überprüfung der ID-Nummer eine sehr häufige Anforderung, da die ID-Nummer die einzige Identitätskennung ist und in vielen Anwendungsszenarien eine strenge Überprüfung erfordert. In diesem Artikel wird erläutert, wie Sie reguläre PHP-Ausdrücke zur Überprüfung von ID-Nummern verwenden.

1. Erhalten Sie die ID-Nummer

Bevor wir mit der Überprüfung der ID-Nummer beginnen, müssen wir die vom Benutzer eingegebene ID-Nummer erhalten. Es kann durch Formularübermittlung, API-Parameterübertragung usw. abgerufen werden, was hier nicht beschrieben wird. Angenommen, die von uns erhaltene ID-Nummer ist $id_number.

2. Regeln der ID-Nummer

Bevor wir die Überprüfung regulärer Ausdrücke durchführen, müssen wir zunächst die Regeln der ID-Nummer verstehen. Die Personalausweisnummer besteht aus 18 Ziffern und Buchstaben. Die ersten 17 Ziffern umfassen Provinz, Stadt, Landkreis (Bezirk) und andere Informationen, und die letzte Ziffer ist ein Prüfcode. Die spezifischen Regeln lauten wie folgt:

1. Die ersten 1 und 2 Ziffern repräsentieren: den Verwaltungsbezirkscode der Provinz

2. Die 5. und 6. Ziffer stellen dar: den Verwaltungsbezirkscode (Landkreis); 17. Ziffer stellt dar: Standort Der Code der Polizeistation

6 Die 18. Ziffer ist der Prüfcode, der aus den ersten 17 Ziffern berechnet wird.

Gemäß den oben genannten Regeln können wir den regulären Ausdruck der ID-Nummer erhalten:

/^[1-9]d{5}(19|20)d{2}((0[1-9]) |. (1[0-2]))((0[1-9])|([1-2]d)|(3[0-1]))d{3}[0-9xX]$/

Lassen Sie uns diesen regulären Ausdruck einzeln analysieren.

Zunächst stellt ^ die Startposition der übereinstimmenden Zeichenfolge und $ die Endposition der übereinstimmenden Zeichenfolge dar. Dadurch wird sichergestellt, dass die gesamte Zeichenfolge den Regeln der ID-Nummer entspricht.

Als nächstes stellt [1-9]d{5} die ersten 6 Ziffern der ID-Nummer dar, die eine beliebige Zahl von 1 bis 9 sein kann, gefolgt von 5 Ziffern. Dabei handelt es sich eigentlich um den Verwaltungsgliederungscode einer Provinz, Stadt oder eines Landkreises (Bezirks).

Dann stellt (19|20)d{2} die ersten 8–9 Ziffern der ID-Nummer dar, die 19 oder 20 sein kann, gefolgt von 2 Ziffern. Dies gibt das Geburtsjahr an.

Als nächstes stellt ((0[1-9])|(1[0-2])) die ersten 10~11 Ziffern der ID-Nummer dar, die eine beliebige Zahl von 01 bis 12 sein kann. Dies stellt den Monat dar Geburt.

Dann stellt ((0[1-9])|([1-2]d)|(3[0-1])) die ersten 12–13 Ziffern der ID-Nummer dar, die 01–31 sein kann Eine beliebige Zahl, diese steht für das Geburtsdatum.

Als nächstes stellt d{3} die ersten 14 bis 16 Ziffern der ID-Nummer dar, bei der es sich um den Code der örtlichen Polizeistation handelt, und kann aus drei beliebigen Ziffern bestehen.

Abschließend stellt [0-9xX] die letzte Ziffer der ID-Nummer dar, die 0~9 oder x oder X sein kann. Dies ist der Prüfcode.

3. Verwendung regulärer PHP-Ausdrücke

Nachdem wir die Regeln und regulären Ausdrücke von ID-Nummern verstanden haben, können wir die preg_match-Funktion von PHP verwenden, um die vom Benutzer eingegebene ID-Nummer zu überprüfen. Die spezifische Verwendung ist wie folgt:

$pattern = '/^[1-9]d{5}(19|20)d{2}((0[1-9])|(1[0-2]))((0[1-9])|([1-2]d)|(3[0-1]))d{3}[0-9xX]$/';
if(preg_match($pattern, $id_number)) {
    echo '身份证号码合法';
} else {
    echo '身份证号码不合法';
}
Nach dem Login kopieren

Im obigen Code ist $pattern der reguläre Ausdruck, den wir gerade definiert haben, und $id_number ist die vom Benutzer eingegebene ID-Nummer. Die Funktion preg_match überprüft die vom Benutzer eingegebene ID-Nummer mithilfe regulärer Ausdrücke und gibt das übereinstimmende Ergebnis zurück. Bei erfolgreichem Abgleich wird „Ausweisnummer ist legal“ ausgegeben, andernfalls „Ausweisnummer ist illegal“.

4. Zusammenfassung

In diesem Artikel haben wir gelernt, wie man reguläre PHP-Ausdrücke zur Überprüfung von ID-Nummern verwendet. Obwohl die Regeln für ID-Nummern relativ kompliziert sind, kann die Überprüfung problemlos durchgeführt werden, sofern Sie die grundlegende Syntax regulärer Ausdrücke und die Regeln für ID-Nummern beherrschen. In praktischen Anwendungen können wir auch unsere eigenen regulären Ausdrücke nach Bedarf anpassen, um unterschiedliche Verifizierungsanforderungen zu erfüllen.

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie die ID-Kartennummer 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