Regulärer Ausdruck ist ein häufig in Programmen verwendetes Werkzeug, das eine Reihe von Regeln verwenden kann, um Text abzugleichen und zu ändern. In PHP ist die Verwendung regulärer Ausdrücke sehr wichtig und wird hauptsächlich für String-Matching-, Ersetzungs- und Extraktionsvorgänge verwendet.
Unter allen regulären Ausdrücken ist der Abgleich einer ID-Nummer ein klassisches Problem. In PHP können wir ID-Nummern über eine Reihe regulärer Ausdrücke abgleichen.
Zuerst müssen wir die Struktur der ID-Nummer verstehen. Gemäß dem nationalen Standard „Citizen Identity Number“ (GB 11643-1999) hat die ID-Nummer insgesamt 18 Ziffern. Die ersten 17 Ziffern sind die Vorwahl und das Geburtsdatum, und die 18. Ziffer ist der Prüfcode.
Dabei sind die ersten 6 Ziffern der Regionalcode, einschließlich der Abkürzungen von Provinzen, autonomen Regionen und Gemeinden, die direkt der Zentralregierung unterstehen. Die 7. bis 14. Ziffer sind der Code für Datum, Monat und Tag der Geburt im Format JJJJMMTT. Die 15. bis 17. Ziffer sind die Seriennummern, also die Seriennummern von Personen, die am selben Tag in derselben Gegend geboren wurden. Eine ungerade Zahl in der 17. Ziffer weist auf einen Mann hin, eine gerade Zahl auf eine Frau. Die letzte Ziffer ist ein Prüfcode, eine nach nationalen Standards berechnete Zahl.
Entsprechend der Struktur der ID-Nummer können wir den folgenden regulären PHP-Ausdruck schreiben:
$pattern = '/^([1-9]\d{5})(19\d{2}|20\d{2})(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i';
Im obigen regulären Ausdruck:
$pattern = '/^([1-9]\d{5})(19\d{2}|20\d{2})(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i'; $id_card = '11010119880101001X'; if (preg_match($pattern, $id_card)) { echo '匹配成功'; } else { echo '匹配失败'; }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke in PHP, um nur Ausweise abzugleichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!