Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man das Geburtsdatum in der ID-Nummer in PHP mithilfe regulärer Ausdrücke abgleicht

Wie man das Geburtsdatum in der ID-Nummer in PHP mithilfe regulärer Ausdrücke abgleicht

王林
王林Original
2023-06-22 22:25:391902Durchsuche

Die ID-Nummer ist eine sehr wichtige und sensible Information, in der das Geburtsdatum, das Geschlecht, der Herkunftsort und viele andere Informationen einer Person gespeichert sind. Besonders wichtig ist die Verwendung regulärer Ausdrücke in PHP, um das Geburtsdatum in der ID-Nummer abzugleichen. In diesem Artikel wird unter den folgenden drei Aspekten erläutert, wie reguläre Ausdrücke verwendet werden, um das Geburtsdatum in der Personalausweisnummer in PHP abzugleichen.

1. Format der Personalausweisnummer

Das Format der Personalausweisnummer unterliegt bestimmten Vorschriften, einschließlich der folgenden Informationen:

  1. Die ersten beiden repräsentieren die Provinz
  2. Die mittleren beiden repräsentieren die Stadt oder Stadt auf Kreisebene;
  3. Das nächste ist das Geburtsjahr;
  4. Die nächsten beiden Ziffern stellen das Geburtsdatum dar;
  5. Es gibt auch einen Prüfcode.
  6. Die ID-Nummer hat insgesamt 18 Ziffern, von denen die ersten 17 Ziffern Zahlen oder Großbuchstaben sind und die letzte Ziffer eine Zahl oder ein Großbuchstabe X sein kann. Bevor Sie reguläre Ausdrücke verwenden, um das Geburtsdatum in der ID-Nummer abzugleichen, müssen Sie daher das Format der ID-Nummer verstehen.

2. Verwendung regulärer Ausdrücke

Verwenden Sie in PHP die Funktion preg_match, um reguläre Ausdrücke aufzurufen, um ID-Nummern abzugleichen. Um das Geburtsdatum abzugleichen, müssen Sie Klammern () verwenden, um das Jahr, den Monat und den Tag der Geburt zu gruppieren, und das entsprechende Platzhalterzeichen im regulären Ausdruck verwenden, wie unten gezeigt:

$pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[dX]$/';

wobei:

^ bedeutet, dass der Anfang der Zeichenfolge
  1. d{6} mit den ersten sechs Provinz- und Stadtinformationen übereinstimmt ^ 表示匹配字符串的开始;
  2. d{6} 匹配前六位省份、城市信息;
  3. (19|20) 匹配出生年份的前两位,限制为 19 或 20;
  4. d{2} 匹配出生年份的后两位;
  5. (0[1-9]|1[012]) 匹配出生月份,限制范围为 01-12;
  6. (0[1-9]|[12][0-9]|3[01]) 匹配出生日期,限制范围为 01-31;
  7. d{3} 匹配身份证号码的最后三位校验码;
  8. [dX] 匹配身份证号码的最后一位,可能是数字或大写字母X;
  9. $
  10. (19|20); code> entspricht den ersten beiden Ziffern des Geburtsjahres, Einschränkungen sind 19 oder 20;<code>d{2} entspricht den letzten beiden Ziffern des Geburtsjahres;

(0 [1-9]|1[012]) entspricht dem Geburtsmonat, der Grenzbereich ist 01-12;

(0[1-9]|[12][0-9]|3 [01]) entspricht dem Geburtsdatum, der Grenzbereich liegt zwischen 01 und 31;

d{3} entspricht den letzten drei Ziffern der ID-Nummer;

[dX] entspricht der letzten Ziffer der ID-Nummer, bei der es sich um Ziffern oder einen Großbuchstaben X handeln kann.

🎜$ bedeutet, dass das Ende der Zeichenfolge entspricht. 🎜🎜🎜3. Code-Implementierung🎜🎜 Sie können die Funktion preg_match und den obigen regulären Ausdruck verwenden, um die ID-Nummer abzugleichen, und Klammern verwenden, um das Datum, den Monat und den Tag der Geburt zu gruppieren. Der Code lautet wie folgt: 🎜
$id_card = '34052419951117258X';  // 身份证号码
$pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[dX]$/';  // 正则表达式

if (preg_match($pattern, $id_card, $matches)) {
    $birth_year = $matches[1] . $matches[2];  // 出生年份
    $birth_month = $matches[3];  // 出生月份
    $birth_day = $matches[4];  // 出生日期
    echo "出生日期:{$birth_year}-{$birth_month}-{$birth_day}";  // 输出
} else {
    echo "身份证号码格式不正确";
}
🎜Das Ausgabeergebnis des obigen Codes lautet: 🎜
出生日期:1995-11-17
🎜In diesem Artikel wird die Methode zur Verwendung regulärer Ausdrücke zum Abgleichen des Geburtsdatums in der Personalausweisnummer in PHP vorgestellt. Sie müssen darauf achten das Schreiben regulärer Ausdrücke und Formatbeschränkungen für Identitätszertifikatnummern. Als leistungsstarkes Tool zum Abgleichen von Zeichenfolgen werden reguläre Ausdrücke in PHP häufig verwendet. 🎜

Das obige ist der detaillierte Inhalt vonWie man das Geburtsdatum in der ID-Nummer in PHP mithilfe regulärer Ausdrücke abgleicht. 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