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 常用函数
Dec 30 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
Oct 17 Javascript
Javascript 遍历页面text控件详解
Jan 06 Javascript
JS对象与json字符串格式转换实例
Oct 28 Javascript
jQuery中unwrap()方法用法实例
Jan 16 Javascript
javascript中for/in循环及使用技巧
Sep 01 Javascript
详谈angularjs中路由页面强制更新的问题
Apr 24 Javascript
countup.js实现数字动态叠加效果
Oct 17 Javascript
原生JavaScript创建不可变对象的方法简单示例
May 07 Javascript
vue中实现弹出层动画效果的示例代码
Sep 25 Javascript
vue项目中js-cookie的使用存储token操作
Nov 13 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
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
php中一个完整表单处理实现代码
2011/11/10 PHP
php生成静态文件的多种方法分享
2012/07/17 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
前端分页功能的实现以及原理(jQuery)
2017/01/22 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
Require.js的基本用法详解
2017/07/03 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
python遍历目录的方法小结
2016/04/28 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
使用django自带的user做外键的方法
2020/11/30 Python
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
巴西男士个人护理产品商店:SHOP4MEN
2017/08/07 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
文员个人求职自荐信
2013/09/21 职场文书
高中毕业生自我鉴定例文
2013/12/29 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript