Maison  >  Article  >  développement back-end  >  Comment valider les mots de passe avec Regexp dans Go ?

Comment valider les mots de passe avec Regexp dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 04:46:01658parcourir

How to Validate Passwords with Regexp in Go?

Validation de mot de passe avec Regexp dans Go

Les modèles d'expression Regex sont un outil puissant pour valider les entrées des utilisateurs, y compris les mots de passe. Dans Go, le package regex propose une approche différente par rapport aux autres langages. Cependant, créer un modèle d'expression régulière pour la validation du mot de passe est simple.

Pour valider un mot de passe qui répond aux critères suivants :

  • au moins 7 lettres
  • au moins 1 numéro
  • au moins 1 majuscule
  • au moins 1 caractère spécial

nous pouvons créer une fonction personnalisée pour vérifier ces exigences :

<code class="go">func verifyPassword(s string) (sevenOrMore, number, upper, special bool) {
    letters := 0
    for _, c := range s {
        switch {
        case unicode.IsNumber(c):
            number = true
        case unicode.IsUpper(c):
            upper = true
            letters++
        case unicode.IsPunct(c) || unicode.IsSymbol(c):
            special = true
        case unicode.IsLetter(c) || c == ' ':
            letters++
        default:
            //return false, false, false, false
        }
    }
    sevenOrMore = letters >= 7
    return
}</code>

Cette fonction parcourt la chaîne du mot de passe et vérifie chaque caractère pour son type (chiffre, majuscule, etc.). Il conserve également une trace du nombre total de lettres. En combinant ces vérifications, nous pouvons déterminer si le mot de passe répond à tous les critères spécifiés.

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