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"
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}$
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]$
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) }
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!