我需要在 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);
最佳答案
对于你的 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;
}
关于java - 验证密码不包含来自名称的 3 个以上连续字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16797636/