正则表达式规则
长度至少为8,至少含有一个字母和一个数字
"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}#34;
长度至少为8,至少含有一个字母和一个数字和一个特殊字符
"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}#34;
长度至少为8,且至少有一个数字 并同时包含大小写字母
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}#34;
长度至少为8,包含大小写字母、数字和特殊字符
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}#34;
长度8到10,, 包含大小写数字和特殊字符
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}#34;
测试
public class passwordtest {
// 密码长度8-20位且至少包含大写字母、小写字母、数字或特殊符号中的任意三种
public static final String password = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,20}#34;;
public static void main(String[] args) {
String password= "ABCabc012@#"; //符合要求密码任意三种 和 符合全部的四种
System.out.println(password.matches(password) + " 1");
}
}
结果:
true 1
Process finished with exit code 0