ホームページ >バックエンド開発 >Golang >Goで正規表現を使用してパスワードを確認するにはどうすればよいですか?

Goで正規表現を使用してパスワードを確認するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-06-02 19:31:02554ブラウズ

Go で正規表現を使用してパスワードを検証する方法は次のとおりです。 パスワードの最小要件 (小文字、大文字、数字、特殊文字を含む少なくとも 8 文字) を満たす正規表現パターンを定義します。 regexp パッケージの MustCompile 関数を使用して正規表現パターンをコンパイルします。 MatchString メソッドを使用して、入力文字列が正規表現パターンと一致するかどうかをテストします。

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

Goで正規表現を使用してパスワードを確認するにはどうすればよいですか?

正規表現は、テキストまたは文字列の本文内の特定のパターンを照合するための強力なツールです。 Go では、regexp パッケージを使用して、文字列が特定のパターンに従っていることを確認できます。

パスワードを検証するために必要なパターン

一般的なパスワード検証パターンは次のとおりです:

  • 8文字以上
  • 小文字を1つ以上含む
  • 大文字を1つ以上含む
  • 数字を1つ以上含む
  • 少なくとも特殊文字が含まれています

正規表現パターン

このパターンと一致するには、次の正規表現を使用できます:

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

Go プログラム

次の Go プログラムは、正規表現の使用方法を示します。パスワードを確認するには:

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 是一个有效的密码。

以上がGoで正規表現を使用してパスワードを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。