Maison  >  Article  >  développement back-end  >  Comment utiliser une expression régulière pour vérifier le numéro d'identification dans Golang

Comment utiliser une expression régulière pour vérifier le numéro d'identification dans Golang

王林
王林original
2023-06-24 09:00:071504parcourir

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 :

  1. Les 6 premiers chiffres du code d'adresse indiquent la province, la région autonome ou la municipalité où se trouve le code
  2. Les 7ème à 14ème chiffres du code d'adresse indiquent l'heure de naissance ;
  3. Les 15ème à 17ème chiffres du code d'adresse indiquent le commissariat local.
  4. Le dernier chiffre est un code de contrôle, utilisé pour vérifier l'exactitude du numéro d'identification ;

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 :

  • ^ représente la position de départ de la chaîne
  • d représente le nombre
  • {15} représente le front Le nombre se répète 15 fois
  • $ représente la position finale de la chaîne
  • | représente une relation OU logique
  • (d|X|x) représente une vérification de base d'un chiffre ou d'une lettre. Le code suivant peut utiliser cette expression régulière pour vérifier l'exactitude du numéro d'identification. L'exemple de code est le suivant :
  • 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)
    }
L'exécution du code ci-dessus peut obtenir le résultat suivant :

130503670401001 校验通过!
130503670401001232 校验失败!
13050367040100 校验失败!
13050367040100123X 校验通过!

3. Conclusion

Cet article présente comment utiliser des expressions régulières pour vérifier les numéros d'identification dans Golang. En utilisant la bibliothèque d'expressions régulières intégrée, nous pouvons facilement implémenter la vérification du numéro d'identification dans différents formats. Dans le développement réel, il nous suffit de transmettre le numéro d'identification qui doit être vérifié dans la fonction checkID pour obtenir le résultat de la vérification indiquant si le numéro d'identification est légal.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn