正则表达式校验密码,查询密码等级,方法都封装好了,请直接CV好吗
/**
* 密码至少包含2种字符组合以上
* @return success
*/
public static boolean strongMoreThan2(String password) {
String passwordRule = "^(?![0-9]+$)(?![A-Za-z]+$)(?![_*@!#%?$]+$)[0-9A-Za-z_*@!#%?$]{6,16}$";
if(!ReUtil.isMatch(passwordRule, password)) {
return false;
}
return true;
}
/**
* 密码至少包含3种字符组合以上
* @return success
*/
public static boolean strongMoreThan3(String password) {
String passwordRule = "^(?![0-9A-Za-z]+$)(?![0-9_*@!#%?$]+$)(?![A-Za-z_*@!#%?$]+$)[0-9A-Za-z_*@!#%?$]{6,16}$";
if(!ReUtil.isMatch(passwordRule, password)) {
return false;
}
return true;
}
/**
* 密码至少包含4种字符组合以上
* @return success
*/
public static boolean strongMoreThan4(String password) {
String passwordRule = "^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W]){1,})(?!.*\\s).{8,}$";
if(!ReUtil.isMatch(passwordRule, password)) {
return false;
}
return true;
}
/**
* 返回密码强度
* @param password 密码
* @return 0:密码校验不通过,1:弱;2:中等;3:强
*/
public static Integer passwordStrong(String password) {
boolean s2 = PasswordStrongValidUtil.strongMoreThan2(password);
boolean s3 = PasswordStrongValidUtil.strongMoreThan3(password);
boolean s4 = PasswordStrongValidUtil.strongMoreThan4(password);
int level = 0;
if(s2) {
level++;
}
if(s3) {
level++;
}
if(s4) {
level++;
}
return level;
}