ホームページ >Java >&#&チュートリアル >Java パスワード検証正規表現を改善して空白を拒否するにはどうすればよいですか?

Java パスワード検証正規表現を改善して空白を拒否するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-11 00:19:11637ブラウズ

How Can I Improve My Java Password Validation Regex to Reject Whitespace?

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

Java アプリケーションでパスワードを検証するには、カスタム正規表現 (regexp) を次のように定義できます。構成パラメータ。

問題:

正規表現:

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

は、最小長、数字の有無、小文字と大文字などのパスワード規則を強制します。 、および特殊文字。ただし、スペース、タブ、または改行を含まないパスワードの識別はサポートされていません。

解決策:

この問題に対処するには、既存の正規表現に次のコードを追加します。

(?=\S+$)

最終レギュラー式:

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

説明:

  • ^ と $ は文字列の先頭と末尾に一致するアンカーであり、パスワード全体を保証します。
  • (?=.*[0-9]) は、少なくとも 1 つの存在をアサートします。数字。
  • (?=.*[a-z]) は、少なくとも 1 つの小文字の存在を主張します。
  • (?=.*[A-Z]) は、少なくとも 1 つの大文字の存在を主張します。 letter.
  • (?=.*[@#$%^& =]) は、少なくとも 1 つの特殊文字 (@#%$^) の存在を主張します。など).
  • (?=S $) は、スペース、タブ、キャリッジ リターン、または空白文字がないことをアサートします。
  • .({8,}$ は、任意の文字 (. ) が少なくとも 8 回発生し、パスワードが最小長の要件を満たしていることが確認されます。

以上がJava パスワード検証正規表現を改善して空白を拒否するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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