校验规则:
密码必须由大小写字母+字符+数子组合,最少八位,不允许4位及以上连续或重复的数字或字母
PassWordUtil 工具类:
public class PassWordUtil {
/**
* 密码是否是正序或反序连续4位及以上
*
* @param pwd
* @return true为正确,false为错误。
*/
public static boolean isPasswordContinuous(String pwd) {
//正序次数
int count = 0;
//反序次数
int reverseCount = 0;
String[] strArr = pwd.split("");
//从1开始是因为划分数组时,第一个为空
for (int i = 1; i < strArr.length - 1; i++) {
if (isPositiveContinuous(strArr[i], strArr[i + 1])) {
count++;
} else {
count = 0;
}
if (isReverseContinuous(strArr[i], strArr[i + 1])) {
reverseCount++;
} else {
reverseCount = 0;
}
if (count > 2 || reverseCount > 2) break;
}
if (count > 2 || reverseCount > 2) return false;
return true;
}
/**
* 是否是正序连续
*
* @param str1
* @param str2
* @return
*/
public static boolean is

该博客介绍了一个Java工具类PassWordUtil,用于验证密码的复杂性。密码必须包含大小写字母、数字和特殊字符,长度至少8位,且不允许有4位及以上连续或重复的数字或字母。博客中提供了检查连续字符、正序和反序连续的辅助方法,并通过正则表达式确保密码包含不同类型的字符。此外,还包含了一个检查连续重复字符的功能。通过示例测试了工具类的正确性。
最低0.47元/天 解锁文章
3463

被折叠的 条评论
为什么被折叠?



