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代码)
Apr 11 Javascript
a标签的href和onclick 的事件的区别介绍
Jul 26 Javascript
可选择和输入的下拉列表框示例
Nov 05 Javascript
JS在IE下缺少标识符的错误
Jul 23 Javascript
js中匿名函数的创建与调用方法分析
Dec 19 Javascript
JS实现往下不断流动网页背景的方法
Feb 27 Javascript
javascript中的Function.prototye.bind
Jun 25 Javascript
jQuery中事件与动画的总结分享
May 24 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
Jul 07 Javascript
AngularJS $injector 依赖注入详解
Sep 14 Javascript
微信小程序倒计时功能实现代码
Nov 09 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
Sep 19 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程序员应该了解MongoDB的五件事
2013/06/03 PHP
在PHP中使用redis
2013/11/04 PHP
PHP中的Memcache详解
2014/04/05 PHP
php字符串截取函数用法分析
2014/11/25 PHP
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
新浪的图片新闻效果
2007/01/13 Javascript
我的Node.js学习之路(一)
2014/07/06 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
js命名空间写法示例
2015/12/18 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
深入理解Python3 内置函数大全
2017/11/23 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
selenium+Chrome滑动验证码破解二(某某网站)
2019/12/17 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
Python实现FLV视频拼接功能
2020/01/21 Python
基于HTML5+CSS3实现简单的时钟效果
2017/09/11 HTML / CSS
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
大学应届毕业生个人求职信
2013/09/23 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
社区维稳工作方案
2014/06/06 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
毕业赠语大全
2015/06/23 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
Django模型层实现多表关系创建和多表操作
2021/07/21 Python
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android