java
//包含大写字母、小写字母、特殊符号、数字中的任意三项
String pw_pattern = "^(?![A-Za-z]+$)(?![A-Z0-9]+$)(?![a-z0-9]+$)(?![a-z\W]+$)(?![A-Z\W]+$)(?![0-9\W]+$)[a-zA-Z0-9\W]{8,16}$";
// ^匹配开始字符
// (?![A-Za-z]+$)不包含纯的字母
//(?![A-Z0-9]+$)不包含纯的大写字母和数字的一种和两种组合
//(?![a-z0-9]+$)不包含纯的小写字母和数字的一种,两种组合
//(?![a-z\W]+$)不包含纯的小写字母和特殊符号的一种,两种组合
//(?![A-Z\W]+$)不包含纯的大写字母和特殊符号的一种,两种组合
//(?![0-9\W]+$)不包含纯的数字和特殊符号的一种,两种组合
System.out.println(user.getUserPass().matches(pw_pattern)) //满足正则表达式返回true
js
var password='LiuHong123';
var pw_pattern = /^(?![A-Za-z]+$)(?![A-Z0-9]+$)(?![a-z0-9]+$)(?![a-zW_!@#$%^&*`~()-+=]+$)(?![A-ZW_!@#$%^&*`~()-+=+$)(?![0-9W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9W_!@#$%^&*`~()-+=]{8,16}$/
console.log(pw_pattern.test(password))