3

Javaでパスワード検証に続いてこれを行う必要があります

  • 長さは 8 文字以上である必要があります
  • 少なくとも 1 つの数字を含める必要があります
  • 少なくとも 1 つの大文字を含める必要があります
  • 少なくとも 1 つの小文字を含める必要があります
  • フルネームまたはユーザー名から 3 文字以上の連続した文字を含めることはできません (例: あなたの名前がWillパスワードを持っていない場合Stiller458)

最初の 4 ポイントを獲得しましたが、最後のポイントはどうすればよいですか?

現在私は持っています:

String pattern = "^(?=.*[^a-zA-Z])(?=.*[a-z])(?=.*[A-Z])\\S{8,}$";
boolean passwordValidation = originalPassword.matches(pattern);
4

2 に答える 2

7

あなたの1,2,3,4の場合

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

5番目のケースの場合

public boolean isValid(final String userName,final String password)
{
    for(int i=0;(i+2)<userName.length();i++)
          if(password.indexof(userName.substring(i,i+2))!=-1)
                return false;
    return true;
}
于 2013-05-28T17:22:21.380 に答える
2

最後のポイントは、正規表現で行うことではありません。名前をループして、代わりにパスワードを確認してください。

正規表現は、解析ではなくパターンに適しています。いずれにせよ、ループを使用して名前を調べる必要があります。

于 2013-05-28T17:10:44.990 に答える