Javascript 评估用户输入密码的强度
什么是一个安全的密码呢?
1.如果密码少于5位,那么就认为这是一个弱密码.
2.如果密码只由数字、小写字母、大写字母或其它特殊符号当中的一种组成,则认为这是一个弱密码.
3.如果密码由数字、小写字母、大写字母或其它特殊符号当中的两种组成,则认为这是一个中度安全的密码.
4.如果密码由数字、小写字母、大写字母或其它特殊符号当中的三种以上组成,则认为这是一个比较安全的密码.
根据用户输入的密码分别显示不同的颜色表示密码的强度,具体程代码如下:
<form name=form1 action="">输入密码:<input title="" type=password size=10 onKeyUp="pwStrength(this.value)" onBlur="pwStrength(this.value)"><br>密码强度:<table width="217" border="1" cellspacing="0" cellpadding="1" style='display:inline'><tr align="center" bgcolor="#eeeeee"><td width="33%" id="strength_L">弱</td><td width="33%" id="strength_M">中</td><td width="33%" id="strength_H">强</td></tr></table> </form>
<script language=javascript>//CharMode函数//测试某个字符是属于哪一类.function CharMode(iN) {if (iN >= 48 && iN <= 57) //数字return 1;if (iN >= 65 && iN <= 90) //大写字母return 2;if (iN >= 97 && iN <= 122) //小写return 4;elsereturn 8; //特殊字符 }//bitTotal函数//计算出当前密码当中一共有多少种模式function bitTotal(num) {var modes = 0;for (i = 0; i < 4; i++) {if (num & 1) modes++;num >>>= 1;}return modes;}//checkStrong函数//返回密码的强度级别function checkStrong(sPW) {if (sPW.length <= 4)return 0; //密码太短var Modes = 0;for (i = 0; i < sPW.length; i++) {//测试每一个字符的类别并统计一共有多少种模式.Modes |= CharMode(sPW.charCodeAt(i));}return bitTotal(Modes);}//pwStrength函数//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色function pwStrength(pwd) {var O_color = "#eeeeee";var L_color = "#FF0000";var M_color = "#FF9900";var H_color = "#33CC00";if (pwd == null || pwd == '') {Lcolor = Mcolor = Hcolor = O_color;}else {S_level = checkStrong(pwd);switch (S_level) {case 0:Lcolor = Mcolor = Hcolor = O_color;case 1:Lcolor = L_color;Mcolor = Hcolor = O_color;break;case 2:Lcolor = Mcolor = M_color;Hcolor = O_color;break;default:Lcolor = Mcolor = Hcolor = H_color;}}document.getElementById("strength_L").style.background = Lcolor;document.getElementById("strength_M").style.background = Mcolor;document.getElementById("strength_H").style.background = Hcolor;} </script>
Javascript 评估用户输入密码的强度相关推荐
- python使用正则表达式验证用户输入密码的有效性
python使用正则表达式验证用户输入密码的有效性 条件: 1,最少有8位 2,字母范围a到z 3,至少有一个字母时大写的 4,至少有一个数字 5,至少有一个特殊字符(_.@.$) #密码验证的条件 ...
- python使用正则表达式判别用户输入密码的强弱并提示
python使用正则表达式判别用户输入密码的强弱并提示 对于用户输入的密码.系统要去分析和判别,密码是否合法是否太简单以至于非常容易被试出来,来提高系统的稳健程度: 密码要强大需要满足: 1,最好9个 ...
- php判断表单修改内容,JavaScript判断用户是否对表单进行了修改的方法_javascript技巧...
本文实例讲述了JavaScript判断用户是否对表单进行了修改的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以判断出用户是否对表单内容进行了修改,如果修改了表单,并退出浏览器,则会提醒用 ...
- 在控制台读取用户输入密码,你会么?
客官请听题,请写一段代码从控制台上读取用户输入密码.不过有几点在实现的时候需要特别注意: 1. 最基本的是用户输入的不应该直接明文显示出来,需要用特殊字符显示. 2. 不要用明文储存用户输入的密码. ...
- PHP 必须勾选用户协议,javascript实现用户必须勾选协议实例讲解
在js中设置用户必须阅读完某项协议 才能勾选登陆或注册 (disabled的使用技巧) 仔细观看两张图片画圈部分是不一样的 当滚轮在上面时下面的表单是不可选中的 第二张在底部表单是可选中的 其中方法为 ...
- 如何使用JavaScript来判断用户设备类型
如何使用JavaScript来判断用户设备类型 通过JS来实现判断当前用户所使用的设备类型. 这里我们主要会使用到 navigator 对象,它是 JavaScript中的一个独对象,用于提供当前用户 ...
- .假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户“密码错误,请取卡”结束交易。
假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户"密码错误,请取卡"结束交易.如果用户密码正确,再提示用户输 ...
- 微信公众号中 JavaScript 获取用户周边的标志性建筑列表
微信公众号中 JavaScript 获取用户周边的标志性建筑列表 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致& ...
- html5密码隐藏,Bootstrap实现用户输入密码显示隐藏代码
Bootstrap实现用户输入密码显示隐藏代码 js代码 $(function() { $('#password').password().on('show.bs.password', functio ...
最新文章
- Pyinstaller封装exe-TypeError: expected str, bytes or os.PathLike object, not NoneType
- java mysql embedded,java-将MySQL Connector / MXJ用于应用程序的优点/缺点/替代品有哪些...
- mybatis3 没有生成example_网站图片尺寸自动生成
- idea2020新建一个jsp页面_有关idea2019版的jsp配置小教程
- JavaScript实现监听移动端上下左右滑动事件
- datatable java实现_在JAVA实现DataTable对象(一)
- 事件元素JS的event对象--知识点总结
- 【数据结构 严蔚敏版】 链式栈基本操作
- 几款pdf转换成word转换器免费版软件
- [zt]软件研发的6sigma案例解析
- EasyUI的Vue版本
- 论文阅读《“The Boating Store Had Its Best Sail Ever”: Pronunciation-attentive ....》
- 李宏毅机器学习课程自测练习题
- 20吉大计算机/软件考研经验贴!
- 第1关:ZooKeeper初体验
- 游戏开发之路-hxx
- 计算机网络之路由协议详解
- 用java将数组中的数字倒过来_有数组a[n],用java 代码将数组元素顺序颠倒
- 获取百度网盘下载真实地址
- jQuery 中的简单动画
热门文章
- 先睹为快:Visual Studio 11测试版已于2.29在微软官方网站正式发布
- JS中NaN、NULL、undefined、详解
- sharepoint文件夹本地同步_干货 | 如何将主机文件自动同步至对象存储
- Apache ServiceComb — Overview
- Go 语言编程 — gorm 数据库版本迁移
- Go 语言编程 — net 库
- OpenStack Nova Placement API 统一资源管理接口的未来
- 嵌入式Linux教程一:安装Ubuntu并进行基本配置、交叉编译环境和Minicom
- Keil中调试时Watch窗口变量不实时显示
- 性能测试场景设计之用户模式设置