Maison  >  Article  >  développement back-end  >  Utilisez des expressions régulières dans Golang pour vérifier si l'entrée est un compte haut débit légal

Utilisez des expressions régulières dans Golang pour vérifier si l'entrée est un compte haut débit légal

王林
王林original
2023-06-25 14:06:28917parcourir

Dans le développement quotidien de logiciels, nous rencontrons souvent des situations où les données saisies par l'utilisateur doivent être vérifiées. Parmi elles, l'utilisation d'expressions régulières pour valider les données d'entrée est une méthode courante car elle peut facilement faire correspondre les données avec un modèle spécifique.

Cet article expliquera comment utiliser les expressions régulières dans Golang pour vérifier si l'entrée est un compte haut débit légal.

Règles pour les comptes haut débit :

Dans notre pays, les comptes haut débit sont généralement constitués de chiffres ou de lettres et comportent de 5 à 18 chiffres. Parmi eux, des chiffres et des lettres peuvent être réutilisés.

L'utilisation d'expressions régulières dans Golang pour vérifier la légitimité des comptes haut débit peut être réalisée à l'aide des fonctions fournies par le package regexp.

Tout d'abord, nous devons introduire le package regexp :

import "regexp"

Ensuite, définissez une fonction nommée isBroadbandAccount pour vérifier le compte haut débit. Le paramètre de cette fonction est une chaîne à vérifier, et la valeur de retour est un type booléen, indiquant si la chaîne à vérifier est conforme aux règles du compte haut débit.

func isBroadbandAccount(str string) bool {
    // 定义正则表达式
    pattern := `^[a-zA-Z0-9]{5,18}$`
    
    // 编译正则表达式
    reg := regexp.MustCompile(pattern)
    
    // 进行匹配
    return reg.MatchString(str)
}

Dans le code ci-dessus, nous avons utilisé les symboles ^ et $ pour garantir que le début et la fin de la chaîne soient vérifiés. Le a-zA-Z0-9 entre crochets peut être constitué de chiffres ou de lettres majuscules et minuscules, et peut être répété 5 à 18 fois.

La compilation d'expressions régulières utilise la fonction MustCompile, qui peut vérifier l'exactitude de l'expression régulière lors de la compilation et provoquer la panique lorsque le format de l'expression régulière est incorrect.

Enfin, faites correspondre l'expression régulière via la fonction MatchString et renvoyez le résultat correspondant.

Ci-dessous, nous pouvons écrire un programme simple pour tester si la fonction isBroadbandAccount peut fonctionner correctement.

package main

import (
    "fmt"
    "regexp"
)

func isBroadbandAccount(str string) bool {
    // 定义正则表达式
    pattern := `^[a-zA-Z0-9]{5,18}$`
    
    // 编译正则表达式
    reg := regexp.MustCompile(pattern)
    
    // 进行匹配
    return reg.MatchString(str)
}

func main() {
    // 测试用例
    cases := []struct {
        input string
        want  bool
    }{
        {"abcd123", true},
        {"a1b2c3d4", true},
        {"1a2b3c4d", true},
        {"", false},
        {"abc1234567890123", false},
    }

    // 遍历测试用例
    for _, c := range cases {
        got := isBroadbandAccount(c.input)
        if got != c.want {
            fmt.Printf("isBroadbandAccount(%q) == %v, want %v
", c.input, got, c.want)
        }
    }
}

Dans le programme ci-dessus, nous avons défini plusieurs cas de test et les avons testés via une traversée de boucles. Chaque scénario de test comprend une chaîne d'entrée et une sortie attendue.

Enfin, exécutez le programme de test et le résultat de sortie est le suivant :

isBroadbandAccount("abc1234567890123") == false, want true

Comme le montre le résultat de sortie, notre fonction isBroadbandAccount peut vérifier correctement la légitimité du compte haut débit.

Résumé :

Cet article explique comment utiliser les expressions régulières dans Golang pour vérifier si l'entrée est un compte haut débit légal. Nous avons utilisé les fonctions fournies par le package regexp et l'avons testé avec un programme simple. Grâce à l'introduction de cet article, les lecteurs peuvent apprendre à utiliser des expressions régulières dans Golang pour vérifier la légalité des données d'entrée, ce qui facilitera les futurs travaux de développement.

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