java验证密码不包含名称中的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);
# 1 楼答案
最后一点不是你用正则表达式做的事情。循环遍历名称,并检查密码
正则表达式擅长于模式,而不是解析。无论如何,您必须使用循环来遍历名称
# 2 楼答案
对于您的1,2,3,4案例
你的第五个案子