validation密码不包含名称中的3个以上连续字符

我需要在Java中进行密码validation后执行此操作

  • 长度必须至少为8个字符
  • 必须至少包含1个数字
  • 必须至少包含1个大写字母
  • 必须至少包含1个小写字母
  • 不能包含您的全名或用户名中的3个或更多连续字符(例如,如果您的名字是,您将无法使用密码Stiller458

我有前4分,我怎么做最后一分?

目前我有:

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

对于你的1,2,3,4案件

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

对于你的第5个案例

 public boolean isValid(final String userName,final String password) { for(int i=0;(i+2) 

最后一点不是你用正则表达式做的事情。 循环显示名称并检查密码。

正则表达式擅长模式,而不是解析。 不管怎样,你必须使用循环来浏览名称。