复杂(同时包含数字,字母,特殊符号)
"^^(?![a-zA-z]+$)(?!\\d+$)(?![!@#$%^&*_-]+$)(?![a-zA-z\\d]+$)(?![a-zA-z!@#$%^&*_-]+$)(?![\\d!@#$%^&*_-]+$)[a-zA-Z\\d!@#$%^&*_-]+$"
简单(只包含数字或字母)
"^(?:\\d+|[a-zA-Z]+|[!@#$%^&*]+)$"
中级(包含字母和数字)
"^(?![a-zA-z]+$)(?!\\d+$)(?![!@#$%^&*]+$)[a-zA-Z\\d!@#$%^&*]+$"
/**
* 密码增加验证,为8-16位上
* 大小写字母+数字+特殊符号
* @param password
* @return
*/
public static boolean passwordStrengthVerification(String password) {
boolean flag = false;
//密码长度范围
final int pwdShort=8;
final int pwdOften=16;
//正则表达式同时包含数字,字母,特殊符号
String expressionJudge ="^^(?![a-zA-z]+$)(?!\\d+$)(?![!@#$%^&*_-]+$)(?![a-zA-z\\d]+$)(?![a-zA-z!@#$%^&*_-]+$)(?![\\d!@#$%^&*_-]+$)[a-zA-Z\\d!@#$%^&*_-]+$";
//判断密码长度
if(password.length()>=pwdShort&&password.length()<=pwdOften){
Boolean result=Pattern.matches(expressionJudge,password);
return result;
}
return flag;
}
String支持正则表达式验证
String password="123456";
password.matches(正则表达式);
后期业务要求改成4选3,3选2,等验证方式,最后项目上线使用的还是框架自带的md5加密验证
正则表达式4选3
String zhengze = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\W_!@#$%^&*`~()-+=]+$)(?![0-9\\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\\W_!@#$%^&*`~()-+=]{8,16}$";