6位不连续、不相同纯数字的正则表达式

很多客户严格要求密码格式问题,我这里提供下纯数字的6位不连续、不相同的密码正则表达式
例如:“123456”,“654321”,“111111”都是不符合规则的

//数字不是连续的
String regres = "^(?:(\\d)(?!((?<=9)8|(?<=8)7|(?<=7)6|(?<=6)5|(?<=5)4|(?<=4)3|(?<=3)2|(?<=2)1|(?<=1)0){5})(?!\1{5})(?!((?<=0)1|(?<=1)2|(?<=2)3|(?<=3)4|(?<=4)5|(?<=5)6|(?<=6)7|(?<=7)8|(?<=8)9){5})){6}$";
//数字不是重复的
String reg = "^(?=.*\\d+)(?!.*?([\\d])\\1{5})[\\d]{6}$";
if(!Pattern.matches(regres,password) || !Pattern.matches(reg,password)){
   return "不满足规则";
}else{
   return “满足规则”;
}

猜你喜欢

转载自blog.csdn.net/subofeng/article/details/95066758