密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案
来源:互联网 发布:淘宝客如何转成淘口令 编辑:程序博客网 时间:2024/04/30 06:46
前言
密码,如果设置的太简单,很容易就被攻破,所以很多网站将密码设置的要求设置的挺严格,一般是字母、数字、字符3选2,区分大小写。对于设置得太简单的密码,予以错误提示。或者予以密码等级(低中高)显示,让用户设置高级密码。那如何利用JS实现呢?
代码
链接:https://gist.github.com/xuanfeng/a44f20cb4569d5b4cd5e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
functionpasswordLevel(password){
varModes =0;
for(i= 0;i <password.length;i++){
Modes|= CharMode(password.charCodeAt(i));
}
returnbitTotal(Modes);
//CharMode函数
functionCharMode(iN){
if(iN>= 48&& iN<= 57)//数字
return1;
if(iN>= 65&& iN<= 90)//大写字母
return2;
if((iN>= 97&& iN<= 122)|| (iN>= 65&& iN<= 90))//大小写
return4;
else
return8;//特殊字符
}
//bitTotal函数
functionbitTotal(num){
modes= 0;
for(i= 0;i <4;i++){
if(num& 1)modes++;
num>>>=1;
}
returnmodes;
}
}
使用
普通使用
使用语法:passwordLevel(string)
验证规则:数字、大写字母、小写字母、特殊字符
函数结果:返回密码中包含的规则数
运行例子:
1
2
passwordLevel("123456") //返回1
passwordLevel("Abc'123456") //返回4
结合jquery.validate.js使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 添加验证方法:至少包含两种规则
$.validator.addMethod("strongPsw",function(value,element){
if(passwordLevel(value)== 1){returnfalse;}
returntrue
},"格式不符合");
// 开始验证
$(".form").validate({
rules:{
pwd:{
required:true, //必填
minlength:6, //最小长度
maxlength:32, //最大长度
strongPsw:true, //密码强度
},
repwd:{
required:true,
minlength:6,
maxlength:32,
equalTo:"#pwd" //再次填写密码需一致
}
}
});
0 0
- 密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案
- 密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案
- 密码等级:至少包含字母、大小写数字、特殊字符 JS
- js正则验证数字,字母和下划线(至少包含其中两种,数字不能开头)
- 自定义表单验证,密码是否包含数字、字母、特殊字符的至少2种
- 批处理实现复杂密码(包含大小写字母数字符号)
- js正则密码验证密码至少包含大写字母,小写字母,数字,且不少于8位
- 密码8到64位大小写字母+数字+字符 不能包含空格
- 至少10位数,至少包含一个大写字母,至少一个小写字母,至少一个数字,(:;=*@)特殊字符中的一个正则表达式
- 密码同时包含8~20位数字和大小写字母,不包含特殊字符的判断方法(正则表达式)
- 密码同时包含6~18位数字和大小写字母,不包含特殊字符的判断方法(正则表达式)
- 获取随机数,包含数字、大小写字母的密码
- Java生成随机密码(包含大小写字母和数字)
- Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- java正则校验-密码至少要由包括大小写字母、数字、标点符号的其中两项,共计8-16位编码组成
- js正则表达式验证密码强度,必须包含数字,大写字母,小写字母,特殊字符四选三
- js验证密码必须为大小写字母和数字组成
- 正则表达式-匹配密码验证(密码强弱等级,不能匹配中文,匹配数字 字母 字符)
- SWUST OJ 2540 少女输出问题
- RESTful api接口规范
- C#中HttpWebRequest的GetRequestStream执行的效率太低,甚至偶尔死掉
- Android手机利用加速度统计跌落次数
- 移动端自由移动元素位置
- 密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案
- manipulate array of data in SQL
- angularJS2.0入门 命令行/npm下载安装
- git push 出现 you are not allowed to upload merges 错误提示
- 设计模式之----策略模式
- 欢迎使用CSDN-markdown编辑器
- Java 中的自动类型转换
- JNI数据类型和签名(Signatures)
- 在Myeclipse中导入工程后会出现Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core