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代码加载优化方法
Jan 30 Javascript
Javascript的各种节点操作实例演示代码
Jun 27 Javascript
javascript:history.go()和History.back()的区别及应用
Nov 25 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
Dec 10 Javascript
JS实现图片横向滚动效果示例代码
Sep 04 Javascript
javascript 通用loading动画效果实例代码
Jan 14 Javascript
Python脚本后台运行的几种方式
Mar 09 Javascript
详解webpack分离css单独打包
Jun 21 Javascript
AngularJS实现tab选项卡的方法详解
Jul 05 Javascript
Vue 2.0入门基础知识之内部指令详解
Oct 15 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
Nov 05 Javascript
vue实现在data里引入相对路径
Jun 05 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
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
2016/08/19 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
MADE法国:提供原创设计师家具
2018/09/18 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
Hawes & Curtis澳大利亚官网:英国经典服饰品牌
2018/10/29 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
本科生的职业生涯规划范文
2014/01/09 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
贷款担保书
2015/01/20 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫