3

ユーザー入力パスワードを一連のルールに対して検証しようとしていますが、これらのルールは次のとおりです。

  1. 最小 6 文字、最大 8 文字。
  2. 少なくとも 1 つの数字
  3. 少なくとも 1 つの大文字のアルファベット。
  4. 特殊文字は許可されていません

これは、Bean クラスでこれまで行ってきたことです。

@NotNull(message = "{register.pwd.invalid}")
    @Size(min = 6, max = 8, message = "{register.pwd.invalid}")
    public String getPwd()
    {
        return pwd;
    }

残りの部分ではregExpを使用する必要があると思いますが、どの正規表現が必要かわかりません。これが私が思いついたものです

^.*(?=.{6,8})(?=.*\d)(?=.*[A-Z]).*$

私は正規表現が得意ではないので、式について確信が持てません。誰かが正規表現を修正するのを手伝ってくれますか

4

2 に答える 2

2

あなたはかなり近いです

^(?=.*\d)(?=.*[A-Z]).{6,8}$

最初に使用しないでください.*(長さチェックを妨害します)。長さチェックを最後に移動します。

于 2012-06-04T07:24:01.940 に答える
1

最初のものを削除し.*、文字制限を固定します。例:

^(?=.*\d)(?=.*[A-Z]).{6,8}$
于 2012-06-04T07:24:26.753 に答える