//长度6~16 必须包含数字字母特殊符号中的两种
String reg = "(?!^\\d+$)(?!^[a-zA-Z]+$)(?!^[_#@]+$).{6,16}";
//必须包含数字字母特殊符号中的三种
String reg = "^^(?![a-zA-z]+$)(?!\\d+$)(?![!@#$%^&*_-]+$)(?![a-zA-z\\d]+$)(?![a-zA-z!@#$%^&*_-]+$)(?![\\d!@#$%^&*_-]+$)[a-zA-Z\\d!@#$%^&*_-]+$";
////必须包含数字字母特殊符号中的三种
String reg = "(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{6,16}";
public static void main(String[] args) {
String newPassword="11111ssss!";
//String reg = "(?!^\\d+$)(?!^[a-zA-Z]+$)(?!^[_#@]+$).{6,16}";
//String reg = "^^(?![a-zA-z]+$)(?!\\d+$)(?![!@#$%^&*_-]+$)(?![a-zA-z\\d]+$)(?![a-zA-z!@#$%^&*_-]+$)(?![\\d!@#$%^&*_-]+$)[a-zA-Z\\d!@#$%^&*_-]+$";
String reg = "(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{6,16}";
System.out.println(!StringUtils.hasText(newPassword));
if ((!StringUtils.hasText(newPassword))) {
System.out.println("密码不可为空");
}
if ( !newPassword.matches(reg)) {
System.out.println("密码长度6~16位,必须包含数字,字母,特殊符号中的两种");
}else{
System.out.println("密码校验通过");
}