ホームページ >Java >&#&チュートリアル >正規表現を使用して Java でパスワードを検証し、長さ、文字タイプ、空白文字の制限を適用する方法

正規表現を使用して Java でパスワードを検証し、長さ、文字タイプ、空白文字の制限を適用する方法

DDD
DDDオリジナル
2024-12-19 22:43:13745ブラウズ

How to Validate Passwords in Java Using Regular Expressions to Enforce Length, Character Types, and Whitespace Restrictions?

Java での正規表現ベースのパスワード検証

Java プログラミングでは、パスワード検証の構成に正規表現 (regex) の利用が含まれることがよくあります。次のポリシー要件を考慮してください。

  • 少なくとも 8 文字
  • 少なくとも 1 桁の数字が含まれている
  • 少なくとも 1 つの小文字と 1 つの大文字が含まれています文字
  • 少なくとも 1 つの特殊文字 (@#%$^ など) が含まれています

対応する正規表現は次のとおりです:

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

ただし、この式ではさらに 1 つ対処できません。要件:

  • 空白、タブなどは含まれません

正規表現の拡張

この条件を強制するには、正規表現を次のように変更できます。

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

詳細な内訳

  • ^: 文字列の先頭
  • (? =.*[0-9]): 少なくとも 1 つ数字
  • (?=.*[a-z]): 少なくとも 1 つの小文字
  • (?=.*[A-Z]):少なくとも 1 つの大文字
  • (?=.*[@#$%^& =]): 少なくとも 1 つの特殊文字
  • (?=S $): 文字列全体に空白文字はありません
  • 。{8 ,}: 最小長は 8 文字
  • $: End文字列の

正規表現のカスタマイズ

この正規表現のモジュール式の性質により、簡単にカスタマイズできます。個々の要件は、希望するパスワード ポリシーに基づいて追加、削除、または変更できます。

(?=...) 構成の説明

(?=. ..) 構造は、実際にテキストを消費せずに、囲まれた正規表現パターンが文字列内に存在するかどうかを評価します。このメカニズムにより、文字列を変更せずに特定の条件を検証できます。

Final Notes

この強化された正規表現を Java アプリケーションに組み込むことで、開発者は堅牢なパスワード検証メカニズムを実装できます。複雑なポリシー要件を満たします。

以上が正規表現を使用して Java でパスワードを検証し、長さ、文字タイプ、空白文字の制限を適用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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