Heim > Artikel > Backend-Entwicklung > So überprüfen Sie das Ausweisformat mithilfe eines regulären PHP-Ausdrucks
Der Personalausweis ist ein wichtiges Dokument. Für Websites, Apps und andere Anwendungen ist es oft notwendig zu überprüfen, ob die vom Benutzer eingegebene ID-Nummer den Spezifikationen entspricht. PHP bietet eine sehr praktische Möglichkeit, diese Funktion zu erreichen, nämlich die Verwendung regulärer Ausdrücke.
In diesem Artikel erfahren Sie, wie Sie mithilfe regulärer PHP-Ausdrücke das korrekte Format der ID-Nummer überprüfen.
1. Ausweisnummernformat
Bevor wir reguläre PHP-Ausdrücke zur Überprüfung des Ausweisnummernformats verwenden, müssen wir zunächst die Formatvorschriften der Ausweisnummer verstehen. Das chinesische Ausweisnummernformat besteht aus insgesamt 18 Ziffern, die ersten 17 Ziffern sind Zahlen und die letzte Ziffer ist ein Prüfcode (der aus Zahlen oder Großbuchstaben bestehen kann).
Die spezifischen Vorschriften lauten wie folgt:
Da wir nun das Format der ID-Nummer kennen, können wir reguläre PHP-Ausdrücke verwenden, um deren Richtigkeit zu überprüfen.
2. Überprüfung regulärer Ausdrücke
Die Überprüfung regulärer Ausdrücke verwendet normalerweise die Funktion preg_match und die Syntax lautet wie folgt:
preg_match($pattern, $subject);
Unter diesen stellt $pattern den regulären Ausdruck und $subject die Zeichenfolge dar, die überprüft werden muss . Wenn die Übereinstimmung erfolgreich ist, wird 1 zurückgegeben, andernfalls wird 0 zurückgegeben.
Als nächstes müssen wir einen regulären Ausdruck erstellen, der das Format der ID-Nummer überprüfen kann. Die spezifische Implementierungsmethode lautet wie folgt:
Zusammenfassend kann der endgültige reguläre Ausdruck erhalten werden:
/^([1-9]d{5})(d{4})([0-9]{2})([0-9]{2})(d{3})(d{3})(d{2})(d[xXd])$/
Die Verwendung regulärer PHP-Ausdrücke zur Überprüfung der ID-Nummer erfordert die Verwendung der preg_match-Funktion. Das Codebeispiel lautet wie folgt:
function check_id_card($id_card) { // 加上正则表达式 $reg = '/^([1-9]d{5})(d{4})([0-9]{2})([0-9]{2})(d{3})(d{3})(d{2})([dxX])$/'; if (preg_match($reg, $id_card, $matches)) { // 校验地址码 if (!check_address_code($matches[1])) { return false; } // 校验出生日期 if (!check_birthday($matches[2] . "-" . $matches[3] . "-" . $matches[4])) { return false; } // 校验顺序码 if (!check_order_code($matches[5])) { return false; } // 校验校验码 if (!check_verify_code($matches[0])) { return false; } return true; } return false; }
Darunter check_address_code, check_birthday , check_order_code, check_verify_code Die Funktionen werden verwendet, um die Richtigkeit des Adresscodes, des Geburtsdatums, des Sequenzcodes bzw. des Prüfcodes zu überprüfen und müssen entsprechend der spezifischen Situation implementiert werden.
3. Zusammenfassung
Mit der oben genannten Methode können Sie reguläre PHP-Ausdrücke verwenden, um die Richtigkeit der ID-Nummer zu überprüfen. Es ist zu beachten, dass die Überprüfung der ID-Nummer nicht nur eine Frage des Formats ist, sondern auch berücksichtigt werden muss, ob der Adresscode legal ist, ob das Geburtsdatum in einem angemessenen Bereich liegt und ob die Geschlechtskennung der Sequenzcode ist entspricht den Vorschriften usw. Daher muss die Code-Implementierung viele Faktoren berücksichtigen, um die Genauigkeit und Zuverlässigkeit der Verifizierungsergebnisse sicherzustellen.
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie das Ausweisformat mithilfe eines regulären PHP-Ausdrucks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!