JS实现的四级密码强度检测功能示例


Posted in Javascript onMay 11, 2017

本文实例讲述了JS实现的四级密码强度检测功能。分享给大家供大家参考,具体如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <title> 密码强度检测 </title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <style type="text/css">
 input{float: left; font-size: 14px; width: 250px; height: 25px; border: 1px solid #ccc; padding-left: 10px;}
 #tips{float: left; font-size: 12px; width: 400px; height: 25px; margin: 4px 0 0 20px;}
 #tips span{float: left; width: 40px; height: 20px; color: #fff; overflow:hidden; margin-right: 10px; background: #D7D9DD; line-height:20px; text-align: center; }
 #tips .s1{background: #F45A68;}/*红色*/
 #tips .s2{background: #fc0;}/*橙色*/
 #tips .s3{background: #cc0;}/*黄色*/
 #tips .s4{background: #14B12F;}/*绿色*/
 </style>
 </head>
 <body>
 <input type="text" id="password" value="" maxlength="16" />
 <div id="tips">
 <span>弱</span>
 <span>中</span>
 <span>强</span>
 <span>很强</span>
 </div>
</body>
 <script type="text/javascript">
 var password = document.getElementById("password"); //获取文本框的对象
 //var value = password.value; //获取用户在文本框里面填写的值
 //获取所有的span标签 返回值是一个数组
 var spanDoms = document.getElementsByTagName("span");
 password.onkeyup = function(){
  //获取用户输入的密码,然后判断其强度 返回0 或者 1 2 3 4
  var index = checkPassWord(this.value);
  for(var i = 0; i <spanDoms.length; i++){
   spanDoms[i].className = "";//清空span标签所有的class样式
   if(index){//0 代表false 其余代表true
    spanDoms[index-1].className = "s" + index ;
   }
  }
 }
 //校验密码强度
 function checkPassWord(value){
  // 0: 表示第一个级别 1:表示第二个级别 2:表示第三个级别
  // 3: 表示第四个级别 4:表示第五个级别
  var modes = 0;
  if(value.length < 6){//最初级别
   return modes;
  }
  if(/\d/.test(value)){//如果用户输入的密码 包含了数字
   modes++;
  }
  if(/[a-z]/.test(value)){//如果用户输入的密码 包含了小写的a到z
   modes++;
  }
  if(/[A-Z]/.test(value)){//如果用户输入的密码 包含了大写的A到Z
   modes++;
  }
  if(/\W/.test(value)){//如果是非数字 字母 下划线
   modes++;
  }
  switch(modes){
   case 1 :
    return 1;
    break;
   case 2 :
    return 2;
    break;
   case 3 :
    return 3;
    break;
   case 4 :
    return 4;
    break;
  }
 }
 </script>
</html>

说明: 这里实现的功能主要是,输入密码的时候,一边输一边检测,有四个安全级别,当输入的密码符合某个级别的规则时,该级别的标志条就会高亮变色。

下面是测试的情况,(这里为了能看到效果,所以把type=“password”故意改成type=“text”),至于检测中级别的规则,读者可以自己根据需要自行修改,主要是js正则表达式的修改。另外,当把最后一个图片的输入内容,逐步地删除,直到只剩第一个图片的输入内容,这一过程中,效果就是下面的 从下到上变化了

JS实现的四级密码强度检测功能示例

JS实现的四级密码强度检测功能示例

JS实现的四级密码强度检测功能示例

JS实现的四级密码强度检测功能示例

Javascript 相关文章推荐
javascript面向对象之Javascript 继承
May 04 Javascript
计算新浪Weibo消息长度(还可以输入119字)
Jul 02 Javascript
JavaScript删除数组元素的方法
Mar 20 Javascript
谈谈我对JavaScript中typeof和instanceof的深入理解
Dec 25 Javascript
js select下拉联动 更具级联性!
Apr 17 Javascript
jQuery自定义多选下拉框效果
Jun 19 jQuery
浅谈Vue 初始化性能优化
Aug 31 Javascript
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
vue结合element-ui使用示例
Jan 24 Javascript
javascript实现摄像头拍照预览
Sep 30 Javascript
VuePress 中如何增加用户登录功能
Nov 29 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
Oct 18 Javascript
详解Vue中状态管理Vuex
May 11 #Javascript
JS简单生成随机数(随机密码)的方法
May 11 #Javascript
ionic实现下拉刷新载入数据功能
May 11 #Javascript
vue2的todolist入门小项目的详细解析
May 11 #Javascript
ionic实现底部分享功能
May 11 #Javascript
学习使用Bootstrap栅格系统
May 11 #Javascript
jQuery实现的简单在线计算器功能
May 11 #jQuery
You might like
PHP管理依赖(dependency)关系工具 Composer 安装与使用
2014/08/18 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
js资料toString 方法
2007/03/13 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
JS弹出窗口代码大全(详细整理)
2012/12/21 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
通过cordova将vue项目打包为webapp的方法
2019/02/02 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
深入了解query和params的使用区别
2019/06/24 Javascript
vue单页应用的内存泄露定位和修复问题小结
2019/08/02 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
JS window对象简单操作完整示例
2020/01/14 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
element 动态合并表格的步骤
2020/12/31 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
python使用正则表达式分析网页中的图片并进行替换的方法
2015/03/26 Python
在Python中编写数据库模块的教程
2015/04/29 Python
web.py在SAE中的Session问题解决方法(使用mysql存储)
2015/06/24 Python
python定向爬虫校园论坛帖子信息
2018/07/23 Python
Python实现word2Vec model过程解析
2019/12/16 Python
Python的in,is和id函数代码实例
2020/04/18 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
大学生如何写自荐信
2014/01/08 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
2014年民警工作总结
2014/11/25 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
用JS实现飞机大战小游戏
2021/06/09 Javascript
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL