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 相关文章推荐
改版了网上的一个js操作userdata
Apr 27 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
Sep 13 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
Apr 26 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
Dec 31 Javascript
javascript中apply/call和bind的使用
Feb 15 Javascript
微信小程序“摇一摇”的实例代码
Jul 20 Javascript
原生js中ajax访问的实例详解
Sep 19 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
Oct 20 Javascript
angularJs中json数据转换与本地存储的实例
Oct 08 Javascript
createObjectURL方法实现本地图片预览
Sep 30 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
vue动态设置路由权限的主要思路
Jan 13 Vue.js
详解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
PHP4在Windows2000下的安装
2006/10/09 PHP
php面向对象全攻略 (七) 继承性
2009/09/30 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
2014/11/19 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
vue页面使用阿里oss上传功能的实例(一)
2017/08/09 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
python os模块简单应用示例
2019/05/23 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
程序员跳槽必看面试题总结
2013/06/28 面试题
《小池塘》教学反思
2014/02/28 职场文书
天网工程实施方案
2014/03/26 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
公司担保书格式范文
2014/05/12 职场文书
机关搬迁方案
2014/05/18 职场文书
质量保证书格式模板
2015/02/27 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
四年级数学教学反思
2016/02/16 职场文书
SpringBoot集成Redis的思路详解
2021/10/16 Redis
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle