正则表达式校验密码长度8~16位{8,16},直接上代码
public static void main(String[] args) {
String password = "135780ajhv.♬";
String pattern = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!~.^?/|<>():;\"\\'♪♫♬@#$%&*]).{8,16}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{8,16}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*[!~.^?/|<>():;\"\\'♪♫♬@#$%&*]).{8,16}$|^(?=.*[a-z])(?=.*\\d)(?=.*[!~.^?/|<>():;\"\\'♪♫♬@#$%&*]).{8,16}$|^(?=.*[A-Z])(?=.*\\d)(?=.*[!~.^?/|<>():;\"\\'♪♫♬@#$%&*]).{8,16}$|^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{8,16}$";
System.out.println(Pattern.matches(pattern, password)) ;
}
其中的特殊符号可自己随意添加♪♫♬