java
public static void isValidPassword(String password) {
// 正则表达式,具体校验规则
String regex = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\w])[A-Za-z\\d\\W]{8,20}$";
// 使用 Hutool 的 ReUtil 来匹配正则表达式
if (ReUtil.isMatch(regex, password)) {
System.err.println("密码强度合格!");
} else {
throw new ServiceException("密码强度不合格!应该包含至少一个大写字母、一个小写字母和一个数字,并且长度至少为8-20个字符");
}
}
vue
password: [
{required: true, message: "用户密码不能为空", trigger: "blur"},
{ pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\w])[A-Za-z\d\W]{8,20}$/,
message: '密码必须包含至少一个大写字母、一个小写字母和一个数字,且长度在8到20个字符之间',
trigger: ['blur', 'change'] },
{min: 8, max: 20, message: "用户密码长度必须介于 8 和 20 之间", trigger: "blur"},
],