密码效验最强正则表达式
直接用就可以了, 放心用, 我测了n遍了, 过程中已是试了其他正则表达式都不行, 这个
正则表达必须是包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位以上组合
//密码验证测试
String PW_PATTERN = "^(?![0-9a-zA-Z]+$)(?![0-9a-z\\W]+$)(?![0-9A-Z\\W]+$)(?![a-zA-Z\\W]+$)[a-zA-Z0-9\\W]{8,}$";
List<String> list = new ArrayList<>();
list.add("ABCDEFGHIG");
list.add("abcdefghig");
list.add("0123456789");
list.add("!@#$%^&*()");
list.add("ABCDEabcde");
list.add("ABCDE01234");
list.add("ABCDE!@#$%");
list.add("abcde01234");
list.add("abcde!@#$%");
list.add("01234!@#$%");
list.add("abcde01234!@#$%");
list.add("ABCDE01234!@#$%");
list.add("ABCDEabcde!@#$%");
list.add("ABCDEabcde01234");
list.add("Aa0!");
//符合要求密码
list.add("ABCabc012!@#!");
list.add("Gys0125~!@#¥%……&*()――+|{}【】‘;:”“'。,、?");
for (String pw : list){
System.out.println(pw +"-"+ pw.matches(PW_PATTERN));
}