Heim  >  Artikel  >  Backend-Entwicklung  >  Regulärer PHP-Ausdruck zur Überprüfung des Formats der ID-Nummer

Regulärer PHP-Ausdruck zur Überprüfung des Formats der ID-Nummer

王林
王林Original
2023-06-24 11:20:081739Durchsuche

Die Personalausweisnummer ist ein sehr wichtiges Identifikationsdokument in unserem Leben. Sie ist auch eine notwendige Information, die wir häufig bei verschiedenen Geschäftstransaktionen eingeben müssen. Daher ist es bei der Entwicklung von Webanwendungen sehr wichtig, die Richtigkeit der ID-Nummer zu überprüfen.

In PHP können wir das Format der ID-Nummer durch reguläre Ausdrücke überprüfen. Im Folgenden stellen wir detailliert vor, wie Sie reguläre Ausdrücke verwenden, um das Format der ID-Nummer zu überprüfen.

1. Format der Ausweisnummer

Die Ausweisnummer besteht aus 18 Ziffern und dem Buchstaben X. Die ersten 17 Ziffern sind der Regionalcode und der Geburtsdatumscode des Personalausweises, die letzte Ziffer ist der Verifizierungscode des Personalausweises.

Das Format der ID-Nummer ist wie folgt:

第1-6位是身份证的地区编码,由国家统计局制定;
第7-14位是身份证的出生日期,格式为YYYYMMDD;
第15-17位是身份证的顺序码,表示在当天出生的第几个人;
第18位是身份证的校验码,用于校验身份证号码的合法性。

2. Verwenden Sie reguläre Ausdrücke, um das Format der ID-Nummer zu überprüfen

Um reguläre Ausdrücke zur Überprüfung des Formats der ID-Nummer zu verwenden, müssen Sie die grundlegende Syntax verstehen von regulären Ausdrücken.

In PHP verwenden wir die Funktion preg_match, um den Vergleich regulärer Ausdrücke zu implementieren. Diese Funktion akzeptiert zwei Parameter: Der erste Parameter ist der abzugleichende reguläre Ausdruck und der zweite Parameter ist die abzugleichende Zeichenfolge. Wenn die Übereinstimmung erfolgreich ist, gibt die Funktion 1 zurück, andernfalls 0.

Der reguläre Ausdruck zur Überprüfung der ID-Nummer lautet wie folgt:

/^(d{6})(19|20)(d{2})([01]d)([0123]d)(d{3})(d|X)$/i

Die Bedeutung des regulären Ausdrucks lautet wie folgt:

/^:表示正则表达式的起始位置。
(d{6}):表示前6位数字是身份证的地区编码。
(19|20):表示身份证的出生年份必须是19或20开头。
(d{2}):表示身份证的出生月份,为两位数字。
([01]d):表示身份证的出生日,为01-31之间的数字。由于月份和天数可能不是两位数,因此需要使用[01]d的形式,只要保证第一位是0或1就行了。
([0123]d):表示身份证的出生年份,为01-12之间的数字。
(d{3}):表示身份证的顺序码,由三位数字组成。
(d|X):表示身份证的校验码,只能是数字或字母X。
$/i:表示正则表达式的结束位置。

Das Folgende ist ein PHP-Codebeispiel:

function check_id_card($id_card){
    $preg = "/^(d{6})(19|20)(d{2})([01]d)([0123]d)(d{3})(d|X)$/i";
    if(preg_match($preg, $id_card)){
        return true;
    }else{
        return false;
    }
}

Diese Funktion akzeptiert einen Parameter $id_card, der stellt die zu verifizierende ID-Nummer dar. Sie verwendet die Funktion preg_match und den obigen regulären Ausdruck, um den Abgleich durchzuführen. Wenn die Übereinstimmung erfolgreich ist, gibt die Funktion „true“ zurück, andernfalls gibt sie „false“ zurück.

Oben erfahren Sie, wie Sie reguläre Ausdrücke verwenden, um das Format der ID-Nummer zu überprüfen. Bei der Entwicklung von Webanwendungen können wir diese Funktion in einer öffentlichen Funktionsbibliothek kapseln, um den Aufruf auf mehreren Seiten zu erleichtern. Dies kann die Entwicklungseffizienz verbessern und die Sicherheit von Webanwendungen gewährleisten.

Das obige ist der detaillierte Inhalt vonRegulärer PHP-Ausdruck zur Überprüfung des Formats der ID-Nummer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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