Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie reguläre Ausdrücke in PHP, um das ID-Nummernformat zu überprüfen

So verwenden Sie reguläre Ausdrücke in PHP, um das ID-Nummernformat zu überprüfen

王林
王林Original
2023-06-23 10:31:261293Durchsuche

Beim Schreiben von PHP-Anwendungen ist es manchmal erforderlich, eine Formatüberprüfung der eingegebenen ID-Nummer durchzuführen, um sicherzustellen, dass die vom Benutzer eingegebenen Daten dem Standard-ID-Kartenformat entsprechen. Reguläre Ausdrücke können in PHP verwendet werden, um das Format der ID-Kartennummer zu überprüfen. In diesem Artikel wird erläutert, wie Sie reguläre Ausdrücke verwenden, um diese Funktion zu erreichen.

Zunächst müssen wir das Format der ID-Nummer verstehen. Nach chinesischem Recht hat die ID-Kartennummer insgesamt 18 Ziffern, wobei die ersten 17 Ziffern Zahlen sind und die letzte Ziffer eine Zahl oder der Buchstabe X sein kann, mit dem überprüft wird, ob die ID-Nummer korrekt eingegeben wurde. Das Format der ID-Nummer ist wie folgt:

  1. Die ersten beiden Ziffern sind der Verwaltungsabteilungscode der Provinz.
  2. Die nächsten beiden Ziffern sind der Verwaltungsabteilungscode auf Kreisebene Verwaltungsabteilungscode;
  3. Dann gibt es vier Ziffern des Geburtsjahres
  4. Dann gibt es zwei Ziffern des Geburtsdatums und eine dreistellige Folgenummer .
  5. Gemäß den oben genannten Vorschriften können wir einen regulären Ausdruck schreiben, der dem Format der ID-Nummer entspricht. Die Syntax des regulären Ausdrucks lautet wie folgt:
  6. /^d{2}(0[1-9]|[1-9]d)d{2}d{4}d{2}d{2}(d{3}|d{4}[Xx])$/
  7. wobei:

^ bedeutet Übereinstimmung mit der Startposition der Eingabezeichenfolge;

d bedeutet Übereinstimmung mit einer beliebigen Zahl , was [0-9] entspricht;
  1. {n} bedeutet n-maliges Abgleichen; ^ 表示匹配输入字符串的开始位置;
  2. d 表示匹配任意数字,相当于 [0-9]
  3. {n} 表示匹配 n 次;
  4. () 表示分组,方便进行后续操作;
  5. | 表示或者,用于匹配多个选项;
  6. $ 表示匹配输入字符串的结束位置;
  7. [] 表示匹配集合中的任意字符。

根据上述正则表达式,我们可以将它作为参数传递给 PHP 内置函数 preg_match(),用于验证身份证号码格式。preg_match() 函数的语法如下:

preg_match(string $pattern, string $subject, array &$matches = null, int $flags = 0, int $offset = 0): int|false

该函数接受一个正则表达式和一个待匹配的字符串作为参数。如果成功匹配,返回 1,否则返回 0。如果函数出错,返回 false。

下面是一个验证身份证号码格式的 PHP 函数示例:

function validate_id_card(string $id_card): bool
{
    $pattern = '/^d{2}(0[1-9]|[1-9]d)d{2}d{4}d{2}d{2}(d{3}|d{4}[Xx])$/';
    return preg_match($pattern, $id_card) === 1;
}

该函数接受一个字符串参数 id_card,用于验证身份证号码格式。函数内部使用了 $pattern 变量保存了前面定义的正则表达式,并将其作为参数传递给 preg_match()

() bedeutet Gruppierung zur Vereinfachung nachfolgende Operationen;

| bedeutet oder, verwendet, um mehrere Optionen abzugleichen; 🎜🎜$ bedeutet, die Endposition der Eingabezeichenfolge abzugleichen; /code> bedeutet Übereinstimmung mit einem beliebigen Zeichen im Satz. 🎜🎜🎜Gemäß dem obigen regulären Ausdruck können wir ihn als Parameter an die in PHP integrierte Funktion preg_match() übergeben, um das Format der ID-Kartennummer zu überprüfen. Die Syntax der Funktion preg_match() lautet wie folgt: 🎜rrreee🎜Diese Funktion akzeptiert einen regulären Ausdruck und eine abzugleichende Zeichenfolge als Parameter. Gibt 1 zurück, wenn eine erfolgreiche Übereinstimmung vorliegt, andernfalls 0. Wenn in der Funktion ein Fehler auftritt, wird false zurückgegeben. 🎜🎜Das Folgende ist ein Beispiel einer PHP-Funktion, die das Format der ID-Kartennummer überprüft: 🎜rrreee🎜Diese Funktion akzeptiert einen String-Parameter id_card, der zur Überprüfung des Formats der ID-Kartennummer verwendet wird. Die Variable $pattern wird innerhalb der Funktion zum Speichern des zuvor definierten regulären Ausdrucks verwendet und als Parameter an die Funktion preg_match() übergeben. Wenn die Funktion erfolgreich übereinstimmt, gibt sie „true“ zurück, andernfalls gibt sie „false“ zurück. 🎜🎜Oben erfahren Sie, wie Sie reguläre Ausdrücke in PHP verwenden, um das Format der ID-Nummer zu überprüfen. Durch die Verwendung regulärer Ausdrücke kann die Überprüfung des ID-Kartennummernformats effizienter und bequemer durchgeführt werden, sodass keine komplexe Überprüfungslogik manuell geschrieben werden muss. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke in PHP, um das ID-Nummernformat zu überprüfen. 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