Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie reguläre Ausdrücke in der Go-Sprache, um festzustellen, ob eine Zeichenfolge eine gültige ID-Nummer ist

So verwenden Sie reguläre Ausdrücke in der Go-Sprache, um festzustellen, ob eine Zeichenfolge eine gültige ID-Nummer ist

WBOY
WBOYOriginal
2023-07-13 19:55:451432Durchsuche

So verwenden Sie reguläre Ausdrücke in der Go-Sprache, um festzustellen, ob es sich bei einer Zeichenfolge um eine gültige ID-Nummer handelt.

Die ID-Nummer ist eine eindeutige Kennung für jeden chinesischen Bürger und eine wichtige Grundlage für die Identifizierung von Personen in allen Bereichen der Gesellschaft. Bei der Datenverarbeitung muss häufig festgestellt werden, ob es sich bei einer Zeichenfolge um eine gültige Identifikationsnummer handelt. In diesem Artikel wird erläutert, wie Sie mithilfe regulärer Ausdrücke in der Go-Sprache bestimmen, ob es sich bei einer Zeichenfolge um eine gültige ID-Nummer handelt.

In der Go-Sprache erfordert die Verwendung regulärer Ausdrücke die Einführung des Regexp-Pakets. Das Folgende ist ein Codebeispiel, das reguläre Ausdrücke verwendet, um zu bestimmen, ob die ID-Nummer zulässig ist:

package main

import (
    "fmt"
    "regexp"
)

func isIDCardNumberValid(idCardNumber string) bool {
    // 使用正则表达式进行匹配判断
    pattern := `^[1-9]d{5}(18|19|20|21|22|23|24|25|26)d{2}(0[1-9]|10|11|12)(0[1-9]|1d|2d|30|31)d{3}[0-9Xx]$`
    reg := regexp.MustCompile(pattern)
    return reg.MatchString(idCardNumber)
}

func main() {
    idCardNumber := "110105198812121234"
    if isIDCardNumberValid(idCardNumber) {
        fmt.Println("合法身份证号码")
    } else {
        fmt.Println("非法身份证号码")
    }
}

Im obigen Code definieren wir eine isIDCardNumberValid-Funktion, die einen String-Typ-Parameter idCardNumber empfängt und einen booleschen Wert zurückgibt. Innerhalb der Funktion werden reguläre Ausdrücke verwendet, um einen Abgleich durchzuführen und festzustellen, ob die Zeichenfolge den Formatanforderungen der ID-Nummer entspricht.

Das Muster eines regulären Ausdrucks ist eine Zeichenfolge, die eine Reihe spezifischer Zeichen und Symbole verwendet, um das übereinstimmende Muster zu beschreiben. Das Muster des regulären Ausdrucks im obigen Code kann wie folgt interpretiert werden:

  • ^ stellt die Startposition der übereinstimmenden Zeichenfolge dar ^ 表示匹配字符串的开始位置;
  • [1-9]d{5} 表示匹配区域编码,即前6位非零数字;
  • (18|19|20|21|22|23|24|25|26) 表示匹配年份,限定范围为18至26;
  • d{2} 表示匹配月份,两位数字;
  • (0[1-9]|10|11|12) 表示匹配日期,限定范围为01至12;
  • (0[1-9]|1d|2d|30|31) 表示匹配出生日期,限定范围为01至31;
  • d{3} 表示匹配顺序码,即倒数第二位到倒数第四位的数字;
  • [0-9Xx] 表示匹配校验码,可以是数字0至9或字母X或x;
  • $
  • [1-9]d{5}; code> Zeigt die übereinstimmende Ortsvorwahl an, d. h. die ersten 6 Ziffern ungleich Null.

begrenzt auf 18 bis 26;

d{2} bedeutet übereinstimmender Monat, zweistellig

(0[1-9]|10|11|12) bedeutet passendes Datum, der begrenzte Bereich ist 01 bis 12;

(0[1-9]|1d|2d|30|31) bedeutet Übereinstimmung mit dem Geburtsdatum, der begrenzte Bereich ist 01 bis 31 ;

🎜d {3} stellt den passenden Sequenzcode dar, d. h. die vorletzte bis viertletzte Ziffer; 🎜🎜[0-9X] stellt dar der passende Prüfcode, der eine Zahl von 0 bis 9 oder der Buchstabe X oder x sein kann; 🎜🎜$ stellt die Endposition der passenden Zeichenfolge dar. 🎜🎜🎜reg := regexp.MustCompile(pattern) kompiliert das reguläre Ausdrucksmuster in ein passendes reguläres Ausdrucksobjekt. 🎜🎜Rufen Sie die Methode reg.MatchString(idCardNumber) auf, um die angegebene Zeichenfolge mit dem regulären Ausdruck abzugleichen. Wenn die Übereinstimmung erfolgreich ist, wird „true“ zurückgegeben, andernfalls wird „false“ zurückgegeben. 🎜🎜In der Hauptfunktion des Programms übergeben wir zum Testen eine ID-Nummer und drucken die entsprechenden Ergebnisse aus. 🎜🎜Mit dem obigen Code können wir ganz einfach reguläre Ausdrücke in der Go-Sprache verwenden, um festzustellen, ob es sich bei einer Zeichenfolge um eine gültige ID-Nummer handelt. Das reguläre Ausdrucksmuster kann entsprechend den tatsächlichen Anforderungen geändert werden, um es an den Abgleich von ID-Kartennummern in verschiedenen Formaten anzupassen. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke in der Go-Sprache, um festzustellen, ob eine Zeichenfolge eine gültige ID-Nummer ist. 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