【训练12】校验密码复杂度(如何处理异常呢?)
密码校验:8~20位,要求至少包含小写字母、大写字母或数字中的两种。判断密码“dave1234”是否符合要求。如果符合,控制台输出“此密码符合要求!”;反之,控制台输出“请按照要求重新设置密码……”。
/*【训练12】校验密码复杂度(如何处理异常呢?)
* 密码校验:8~20位,要求至少包含小写字母、大写字母
* 或数字中的两种。判断密码“dave1234”是否符合要求。
* 如果符合,控制台输出“此密码符合要求!”;反之,控制台
* 输出“请按照要求重新设置密码……”。
* */
package zfc;
public class Xl12 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String str ="dave1234";
if(check(str)) {
System.out.println("此密码符合要求!");
}else {
System.out.println("请按照要求重新设置密码……");
}
}
public static boolean check(String str) {
if(!str.matches("[a-zA-Z0-9]{8,10}")) { //判断输入的密码是否出现规定以外的字符
return false;
}
int count = 0; //统计出现几种字符
if(str.matches(".*[a-z].*")) { //出现小写字母
count+=1;
}
if(str.matches(".*[A-Z].*")) { //出现大写字母
count+=1;
}
if(str.matches(".*[0-9].*")) { //出现数字
count+=1;
}
if(count>=2) {
return true;
}else {
return false;
}
}
}