布尔帮助:测试JAVA密码的参数 任务:
该程序应检查输入的密码是否至少有8个字符长、一个大小写字母、一个数字和一个特殊字符 代码:布尔帮助:测试JAVA密码的参数 任务:,java,boolean,Java,Boolean,该程序应检查输入的密码是否至少有8个字符长、一个大小写字母、一个数字和一个特殊字符 代码: 我认为应该进行大写和小写检查,反之亦然: hasUppercase = !password.equals(password.toLowerCase()); hasLowercase = !password.equals(password.toUpperCase()); 因为只有在不包含大写字母时,密码的小写版本才等于密码 其他两项检查可按如下方式进行: hasDigit = password.match
我认为应该进行大写和小写检查,反之亦然:
hasUppercase = !password.equals(password.toLowerCase());
hasLowercase = !password.equals(password.toUpperCase());
因为只有在不包含大写字母时,密码的小写版本才等于密码
其他两项检查可按如下方式进行:
hasDigit = password.matches(".*[0-9].*");
hasSpecial = !password.matches("[A-Za-z0-9]*");
!password.equals(password.toLowerCase())
没有测试“单个”小写字符,但是如果整个密码都是小写的,那么你的大写支票也是一样。我要说的话和我上面那个家伙说的一样!哦,哇,哇。检查小写字符的好方法是什么。在类似if循环的情况下,检查每个字母是大写还是小写?您可以使用hasUppercase=password.matches(“(?s)。*[A-Z]*”
和hasLowercase=password.matches(“(?s)。*[a-z]*”)
insteadOrimport static org.apache.commons.lang3.StringUtils.*/*…*/布尔ok=!isAllUpperCase(密码)&!isAllLowerCase(密码)代码>
hasUppercase = !password.equals(password.toLowerCase());
hasLowercase = !password.equals(password.toUpperCase());
hasDigit = password.matches(".*[0-9].*");
hasSpecial = !password.matches("[A-Za-z0-9]*");