public static boolean validatePassword(String password) {
if (password == null || password.length() < 9 || password.length() > 13) {
return false; // 密码为空或长度不符合9到13位的要求
}
// 定义标志位,用于检查是否包含大小写字母、特殊字符和数字
boolean hasUpperCase = false;
boolean hasLowerCase = false;
boolean hasDigit = false;
boolean hasSpecialChar = false;
// 遍历密码中的每个字符
for (char c : password.toCharArray()) {
if (Character.isUpperCase(c)) {
hasUpperCase = true;
} else if (Character.isLowerCase(c)) {
hasLowerCase = true;
} else if (Character.isDigit(c)) {
hasDigit = true;
} else if (SPECIAL_CHARACTERS.contains(String.valueOf(c))) {
hasSpecialChar = true;
}
// 如果所有条件都满足,可以提前返回true
if (hasUpperCase && hasLowerCase && hasDigit && hasSpecialChar) {
return true;
}
}
// 检查所有条件是否都已满足
return hasUpperCase && hasLowerCase && hasDigit && hasSpecialChar;
}
public static String generateRandomAccount() {
Random random = new Random();
// 第一个数字是1到9之间的随机数
int firstDigit = random.nextInt(9) + 1;
// 创建一个StringBuilder来构建剩余的账号
StringBuilder sb = new StringBuilder(10);
sb.append(firstDigit); // 添加第一个数字
// 添加剩余的9个数字(0到9)
for (int i = 1; i < 10; i++) {
int digit = random.nextInt(10); // 生成0到9之间的随机数
sb.append(digit);
}
// 返回生成的账号字符串
return sb.toString();
}
// 密码为空或长度不符合9到13位的要求
// 定义标志位,用于检查是否包含大小写字母、特殊字符和数字