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 相关文章推荐
疯狂Jquery第一天(Jquery学习笔记)
May 11 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
May 05 Javascript
javascript实现一个数值加法函数
Jun 26 Javascript
JavaScript判断按钮被点击的方法
Dec 13 Javascript
关于js函数解释(包括内嵌,对象等)
Nov 20 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
Nov 23 Javascript
浅析上传头像示例及其注意事项
Dec 14 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
Dec 22 Javascript
Angular动态添加、删除输入框并计算值实例代码
Mar 29 Javascript
react高阶组件经典应用之权限控制详解
Sep 07 Javascript
json解析大全 双引号、键值对不在一起的情况
Dec 06 Javascript
原生js实现随机点餐效果
Dec 10 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数字转汉字代码(算法)
2011/10/08 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
webpack配置之后端渲染详解
2017/10/26 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
vue filters的使用详解
2018/06/11 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
Cordova(ionic)项目实现双击返回键退出应用
2019/09/17 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
JS实现京东商品分类侧边栏
2020/12/11 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python操作sqlite3快速、安全插入数据(防注入)的实例
2014/04/26 Python
Python中防止sql注入的方法详解
2017/02/25 Python
基于python实现雪花算法过程详解
2019/11/16 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
Python-for循环的内部机制
2020/06/12 Python
2013年高中生自我评价
2013/10/23 职场文书
语文教育专业应届生求职信
2013/11/23 职场文书
基层党组织公开承诺书
2014/03/28 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
2014年文明创建工作总结
2014/11/25 职场文书
无罪辩护词范文
2015/05/21 职场文书
初中生物教学反思
2016/02/20 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
使用 Apache 反向代理的设置技巧
2022/01/18 Servers
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js