常规定义
从口令设置的规则来说,所有口令(密码)位数必须大于等于8,至少包含大小写字母、数字、特殊字符四种组合中的三种组合,不符合此种规则的为弱口令。
C#代码
1.验证规则
string reg = @"^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,}$";
//第一种验证规则
string reg = @"^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([,.<>{}~!@#$%^&*_])+$)(?!([^(A-Z,.<>{}~!@#$%^&*_)])+$)(?!([^(a-z,.<>{}~!@#$%^&*_)])+$)(?!([^(0-9,.<>{}~!@#$%^&*_)])+$)(?!([^(0-9a-z)])+$)(?!([^(A-Za-z)])+$)(?!([^(0-9A-Z)])+$)^.{8,16}$";
//第二种验证规则
2.判断是否匹配
var m1 = Regex.IsMatch(password, reg);
//password密码,reg验证规则,m1返回布尔类型
if (!m1)
{
//逻辑代码
}
JS代码
1.验证规则
reg = /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([,.<>{}~!@#$%^&*_])+$)(?!([^(A-Z,.<>{}~!@#$%^&*_)])+$)(?!([^(a-z,.<>{}~!@#$%^&*_)])+$)(?!([^(0-9,.<>{}~!@#$%^&*_)])+$)(?!([^(0-9a-z)])+$)(?!([^(A-Za-z)])+$)(?!([^(0-9A-Z)])+$)^.{8,16}$/;
2.判断是否匹配
var password = $("#Password").val();
var repassword = $("#PasswordRepeat").val();
if (password == repassword) {
if (!reg.test(password)) {
abp.message.warn("所有口令(密码)位数必须大于等于8,至少包含大小写字母、数字、特殊字符四种组合中的三种组合");
//alert(所有口令(密码)位数必须大于等于8,至少包含大小写字母、数字、特殊字符四种组合中的三种组合);
return false;
}
}
else {
abp.message.warn("两次输入的密码不一致");
return false;
}