So verwenden Sie reguläre Ausdrücke, um die Gültigkeit der ID-Nummer in Golang zu überprüfen

WBOY
Freigeben: 2023-06-24 08:51:34
Original
1058 Leute haben es durchsucht

Die ID-Kartennummer ist in unserem täglichen Leben eine häufig verwendete Identifikationsmethode. In der Golang-Sprache ist es sehr einfach, reguläre Ausdrücke zu verwenden, um die Gültigkeit der ID-Nummer zu überprüfen. In diesem Artikel stellen wir die Schritte und Methoden zur Verwendung regulärer Ausdrücke zur Überprüfung der Gültigkeit von ID-Nummern vor.

Zunächst müssen wir den Aufbau der Ausweisnummer verstehen. Die Ausweisnummer besteht aus 15 oder 18 Ziffern, von denen die ersten 17 Ziffern der Sequenzcode der Ausweisnummer sind, und die letzte Ziffer ist der Verifizierungscode des Personalausweises. Der Prüfcode ist das Ergebnis einer gewichteten Operation der ersten 17 Ziffern der Personalausweisnummer. Die spezifische Formel lautet wie folgt:

∑(wi×ai) %11

wobei wi der Gewichtungsfaktor und ai die ersten 17 Ziffern des Personalausweises sind , und der gewichtete Modul beträgt 11. Das Berechnungsergebnis muss auf 11 gesetzt werden, und schließlich wird die letzte Ziffer des ID-Kartenprüfcodes durch den Rest und die entsprechende Beziehungstabelle erhalten.

Nachdem wir die Struktur der ID-Nummer verstanden haben, können wir reguläre Ausdrücke in Golang verwenden, um die Gültigkeit der ID-Nummer zu überprüfen. Im Folgenden sind die Schritte aufgeführt, um die Gültigkeit der ID-Nummer zu überprüfen:

Schritt 1: Führen Sie das Paket für reguläre Ausdrücke ein

In der Golang-Sprache können Sie das Paket „regexp“ verwenden, um reguläre Ausdrucksabgleichsvorgänge durchzuführen, also bei Verwendung von regulären Ausdrücken Ausdrücke zur Überprüfung der Identität Bevor Sie die ID-Nummer eingeben, müssen Sie das Paket „regexp“ einführen. Der Code lautet wie folgt:

import "regexp"
Nach dem Login kopieren

Schritt 2: Schreiben Sie einen regulären Ausdruck

Das Schreiben eines regulären Ausdrucks, der mit der ID-Nummer übereinstimmt, ist von entscheidender Bedeutung Schritt: Der reguläre Ausdruck kann zum Abgleichen der ID-Nummer verwendet werden. Für eine 15-stellige Ausweisnummer können wir den folgenden regulären Ausdruck verwenden:

^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$
Nach dem Login kopieren

Für eine 18-stellige Ausweisnummer können wir den folgenden regulären Ausdruck verwenden:

^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}[0-9Xx]$
Nach dem Login kopieren

Die oben genannten regulären Ausdrücke werden alle basierend auf dem abgeglichen Struktur der Ausweisnummer, die in Klammern angegebenen Optionen geben entweder die Monate an, die mit 0 beginnen, von Januar bis September, oder die Monate, die mit 1 beginnen, von 0 bis Februar.

Schritt 3: Verwenden Sie reguläre Ausdrücke, um die ID-Nummer zu überprüfen

Nachdem Sie den regulären Ausdruck geschrieben haben, der mit der ID-Nummer übereinstimmt, können Sie die Gültigkeit der ID-Nummer mit der Methode „regexp.MatchString()“ überprüfen. Der Code lautet wie folgt:

func checkIDCard(id string) bool {
    // 编写正则表达式
    const pattern = `^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}[0-9Xx]$`
    // 编译正则表达式
    regexp := regexp.MustCompile(pattern)
    // 匹配身份证号码
    return regexp.MatchString(id)
}
Nach dem Login kopieren

Im obigen Code akzeptiert die Funktion „checkIDCard()“ einen String-Parameter id, der zur Überprüfung der Gültigkeit der ID-Nummer verwendet wird. In der Funktion wird zunächst der reguläre Ausdruck geschrieben und mithilfe der Methode „regexp.MustCompile()“ in ein reguläres Ausdrucksobjekt kompiliert. Verwenden Sie abschließend die Methode „regexp.MatchString()“, um festzustellen, ob die ID-Nummer gültig ist. Wenn sie gültig ist, wird „true“ zurückgegeben, andernfalls wird „false“ zurückgegeben.

Zusammenfassend lässt sich sagen, dass es sehr einfach ist, reguläre Ausdrücke zu verwenden, um die Gültigkeit der ID-Nummer zu überprüfen. In der Golang-Sprache müssen Sie lediglich das Paket „regexp“ einführen, einen regulären Ausdruck schreiben, der mit der ID-Nummer übereinstimmt Verwenden Sie zum Abgleich die Methode „regexp.MatchString( )“. Ich hoffe, dieser Artikel hilft Ihnen!

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reguläre Ausdrücke, um die Gültigkeit der ID-Nummer in Golang zu überprüfen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage