如果您不想使用正则表达式,可以使用循环遍历密码的每个字符并进行相应的检查。以下是不使用正则表达式的修改版代码:

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'替换为您想要检查的密码。

Java密码验证:不使用正则表达式检查密码有效性

原文地址: http://www.cveoy.top/t/topic/mgl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录