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 相关文章推荐
json 定义
Jun 10 Javascript
通过JavaScript控制字体大小的代码
Oct 04 Javascript
JS自动适应的图片弹窗实例
Jun 29 Javascript
浅析JavaScript原型继承的陷阱
Dec 03 Javascript
基于原生JS实现图片裁剪
Aug 01 Javascript
微信小程序左滑删除效果的实现代码
Feb 20 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
May 10 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
Jul 21 Javascript
JS改变页面颜色源码分享
Feb 24 Javascript
node使用Mongoose类库实现简单的增删改查
Nov 08 Javascript
如何从零开始手写Koa2框架
Mar 22 Javascript
vuex实现数据状态持久化
Nov 11 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中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
php查询mssql出现乱码的解决方法
2014/12/29 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
Symfony的安装和配置方法
2016/03/17 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
深入理解Javascript中的循环优化
2013/11/09 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
vue.js实现备忘录功能的方法
2017/07/10 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
python实现滑雪游戏
2020/02/22 Python
Python中格式化字符串的四种实现
2020/05/26 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
基于python实现操作redis及消息队列
2020/08/27 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
C++的几个面试题附答案
2016/08/03 面试题
值传递还是引用传递
2015/02/08 面试题
应用艺术专业个人的自我评价
2014/01/03 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
新年团拜会主持词
2014/04/02 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
深入理解go slice结构
2021/09/15 Golang