En développement, la vérification par expression régulière du numéro d'identification est une exigence très courante. Le langage Go dispose également d'une bibliothèque d'expressions régulières intégrée, nous pouvons donc facilement utiliser des expressions régulières pour effectuer la vérification du numéro d'identification. Cet article explique comment utiliser les expressions régulières pour vérifier les numéros d'identification dans Golang.
1. Règles de base du numéro d'identification
Avant de vérifier le numéro d'identification, nous devons comprendre les règles de base du numéro d'identification. Le numéro d'identification de la Chine continentale est composé de 18 chiffres et le dernier chiffre peut être un chiffre ou la lettre X. Parmi eux, les 17 premiers chiffres sont le code d'adresse et le code de date de naissance, et le dernier chiffre est le code de contrôle. Les règles spécifiques sont les suivantes :
2. Utilisez des expressions régulières pour vérifier le numéro d'identification
Vous pouvez utiliser le package regexp en langage Go pour implémenter la fonction des expressions régulières. Lors de la vérification du numéro d'identification, nous pouvons utiliser l'expression régulière suivante pour la vérification :
^(d{15}$|d{18}$|d{17}(d|X|x))$
La signification de cette expression régulière est :
package main import ( "fmt" "regexp" ) func main() { testID1 := "130503670401001" testID2 := "130503670401001232" testID3 := "13050367040100" testID4 := "13050367040100123X" if checkID(testID1) { fmt.Printf("%s 校验通过! ", testID1) } else { fmt.Printf("%s 校验失败! ", testID1) } if checkID(testID2) { fmt.Printf("%s 校验通过! ", testID2) } else { fmt.Printf("%s 校验失败! ", testID2) } if checkID(testID3) { fmt.Printf("%s 校验通过! ", testID3) } else { fmt.Printf("%s 校验失败! ", testID3) } if checkID(testID4) { fmt.Printf("%s 校验通过! ", testID4) } else { fmt.Printf("%s 校验失败! ", testID4) } } func checkID(id string) bool { reg := regexp.MustCompile(`^(d{15}$|d{18}$|d{17}(d|X|x))$`) return reg.MatchString(id) }
130503670401001 校验通过! 130503670401001232 校验失败! 13050367040100 校验失败! 13050367040100123X 校验通过!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!