Java密码验证:不使用正则表达式检查密码有效性
如果您不想使用正则表达式,可以使用循环遍历密码的每个字符并进行相应的检查。以下是不使用正则表达式的修改版代码:
public class PasswordChecker {
public static void main(String[] args) {
String password = 'your_password_here';
if (isValidPassword(password)) {
System.out.println('密码有效');
} else {
System.out.println('密码无效');
}
}
public static boolean isValidPassword(String password) {
// 检查密码长度
if (password.length() < 8) {
return false;
}
// 检查密码是否只包含字母和数字
for (char c : password.toCharArray()) {
if (!Character.isLetterOrDigit(c)) {
return false;
}
}
// 检查密码是否至少有2个数字
int digitCount = 0;
for (char c : password.toCharArray()) {
if (Character.isDigit(c)) {
digitCount++;
}
}
if (digitCount < 2) {
return false;
}
return true;
}
}
这个修改后的代码会遍历密码中的每个字符,使用Character.isLetterOrDigit(char c)
来检查字符是否是字母或数字。如果字符不是字母或数字,则返回false。然后,它会计算密码中数字字符的数量,并检查是否至少有两个数字。如果密码有效,将输出'密码有效';否则,将输出'密码无效'。
请确保将'your_password_here'替换为您想要检查的密码。
原文地址: http://www.cveoy.top/t/topic/mgl 著作权归作者所有。请勿转载和采集!