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 相关文章推荐
HTML代码中标签的全部属性 中文注释说明
Mar 26 Javascript
prototype 中文参数乱码解决方案
Nov 09 Javascript
jQuery实现动画效果的实例代码
May 07 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
jQuery可见性过滤选择器用法示例
Sep 09 Javascript
jQuery实现的图片轮播效果完整示例
Sep 12 Javascript
Node.js调试技术总结分享
Mar 12 Javascript
JS实现模糊查询带下拉匹配效果
Jun 21 Javascript
微信小程序中进行地图导航功能的实现方法
Jun 29 Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 Javascript
vue中用 async/await 来处理异步操作
Jul 18 Javascript
vue制作toast组件npm包示例代码
Oct 29 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
浅谈discuz密码加密的方式
2014/05/22 PHP
php构造函数与析构函数
2016/04/23 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
JSQL  一个 web DB 的封装
2010/05/05 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
前端性能优化及技巧
2016/05/06 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
Python判断某个用户对某个文件的权限
2016/10/13 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
在Django admin中编辑ManyToManyField的实现方法
2019/08/09 Python
关于Keras模型可视化教程及关键问题的解决
2020/01/24 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
python实现三种随机请求头方式
2021/01/05 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
业务副厂长岗位职责
2014/01/03 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
入学申请自荐信范文
2014/02/26 职场文书
商务经理岗位职责
2014/08/03 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
工作经验交流材料
2014/12/30 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android