Maison  >  Article  >  développement back-end  >  Comment vérifier le mot de passe à l’aide d’une expression régulière dans Go ?

Comment vérifier le mot de passe à l’aide d’une expression régulière dans Go ?

WBOY
WBOYoriginal
2024-06-02 19:31:02529parcourir

Comment utiliser des expressions régulières pour vérifier les mots de passe dans Go est la suivante : définissez un modèle d'expression régulière qui répond aux exigences minimales de mot de passe : au moins 8 caractères, y compris les lettres minuscules, les lettres majuscules, les chiffres et les caractères spéciaux. Compilez les modèles d'expressions régulières à l'aide de la fonction MustCompile du package regexp. Utilisez la méthode MatchString pour tester si une chaîne d'entrée correspond à un modèle d'expression régulière.

如何在 Go 中使用正则表达式验证密码?

Comment vérifier le mot de passe à l'aide d'une expression régulière dans Go ?

Les expressions régulières sont des outils puissants pour faire correspondre des modèles spécifiques dans un corps de texte ou une chaîne. Dans Go, vous pouvez utiliser le package regexp pour vérifier qu'une chaîne suit un modèle spécifique.

Modèle requis pour vérifier le mot de passe

Un modèle de vérification de mot de passe courant est le suivant :

  • Au moins 8 caractères
  • Contient au moins une lettre minuscule
  • Contient au moins une lettre majuscule
  • Contient au moins un chiffre
  • Contient au moins un caractère spécial

Modèle d'expression régulière

Pour faire correspondre ce modèle, vous pouvez utiliser l'expression régulière suivante :

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{8,}$

Programme Go

Le programme Go suivant montre comment vérifier les mots de passe à l'aide expressions régulières :

package main

import (
   "fmt"
   "regexp"
)

func main() {
   // 定义正则表达式模式
   pattern := `^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{8,}$`
   r := regexp.MustCompile(pattern)

   // 测试输入字符串
   passwords := []string{"password1", "Password123", "MyPassword123"}
   for _, password := range passwords {
      if r.MatchString(password) {
         fmt.Printf("%s 是一个有效的密码。\n", password)
      } else {
         fmt.Printf("%s 不是一个有效的密码。\n", password)
      }
   }
}

Output

password1 不是一个有效的密码。
Password123 不是一个有效的密码。
MyPassword123 是一个有效的密码。

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