JS 实现校验包含指定字符及长度等规则的字符串
- 至少同时包含大写字母、小写字母、数字以及特殊字符中的三种组合且长度必须14位以上
var pattern0 =/(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-ZW_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-zW_!@#$%&*~()-+=]+$)(?![0-9W_!@#$%^&*
()-+=]+$)[a-zA-Z0-9W_!@#$%^&*`()-+=]{14,90}$/;
if(pattern0.test(‘被校验字符串’) == false){
alert(‘不符合条件’);
}
else {
alert(‘符合条件’);
}
- 至少同时包含大写字母、小写字母、数字以及特殊字符中的三种组合且长度必须十位以上
var pattern1 =/(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-ZW_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-zW_!@#$%&*~()-+=]+$)(?![0-9W_!@#$%^&*
()-+=]+$)[a-zA-Z0-9W_!@#$%^&*`()-+=]{10,90}$/;
if(pattern1.test(‘被校验字符串’) == false){
alert(‘不符合条件’);
}
else {
alert(‘符合条件’);
}
-
密码不能包含正向或反向用户名
var un1 = ‘用户名’; var un2 = un1.split(“”).reverse().join(“”);
if(‘密码’.indexOf(un1) != -1 || ‘密码’.indexOf(un2) != -1){
alert(‘不符合条件’);
}else{
alert(‘符合条件’);
} -
密码不能以6个或更多数字结尾
var str=‘密码’;
var arr=str.split(“”).reverse().join(“”);
var patt1=/\d*/;
var str1 = arr.match(patt1).toString();
if(str1.length > 5){
alert(‘不符合条件’);
}else{
alert(‘符合条件’);
} -
密码不能包含常见弱密码
var str1 = “1234567890qwertyuiopasdfghjklzxcvbnm”;
var str2 = “1234567890qazwsxedcrfvtgbyhnujmikolp”;
var str3 = “1qaz2wsx3edc4rfv5tgb6yhn7ujm8ik9ol0p”;
var str4 = “0p9ol8ik7ujm6yhn5tgb4rfv3edc2wsx1qaz”;
var str5 = str1.split(“”).reverse().join(“”);
var str6 = str2.split(“”).reverse().join(“”);
var str7 = str3.split(“”).reverse().join(“”);
var str8 = str4.split(“”).reverse().join(“”);
if(‘密码’ != ‘’ && (str1.indexOf(‘密码’) != -1 || str2.indexOf(‘密码’) != -1 || str3.indexOf(‘密码’) != -1 || str4.indexOf(‘密码’) != -1 || str5.indexOf(‘密码’) != -1 || str6.indexOf(‘密码’) != -1 || str7.indexOf(‘密码’) != -1 || str8.indexOf(‘密码’) != -1 || ‘密码’ == ‘gsicbcwm1’ || ‘密码’ == ‘p@ssw0rd1’)){
alert(‘不符合条件’);
}else{
alert(‘符合条件’);
}