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 相关文章推荐
jquery简单体验
Jan 10 Javascript
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
Aug 21 Javascript
ext读取两种结构的xml的代码
Nov 05 Javascript
初窥JQuery(二)事件机制(2)
Dec 06 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
Mar 05 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 Javascript
javascript四舍五入函数代码分享(保留后几位)
Dec 10 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 Javascript
js弹出窗口简单实现代码
Mar 22 Javascript
详解使用mpvue开发github小程序总结
Jul 25 Javascript
利用不到200行代码写一款属于你自己的js类库
Jul 08 Javascript
js实现可爱的气泡特效
Sep 05 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共享内存段示例分享
2014/01/20 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
用js实现in_array的方法
2013/11/05 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
JS实现简单的星期格式转换功能示例
2018/07/23 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
js实现左右轮播图
2020/01/09 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
Python设计模式之门面模式简单示例
2018/01/09 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
django框架forms组件用法实例详解
2019/12/10 Python
python批量处理txt文件的实例代码
2020/01/13 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
青年文明号事迹材料
2014/01/18 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
工作表现证明
2015/06/15 职场文书
五一放假通知怎么写
2015/08/18 职场文书
《海上日出》教学反思
2016/02/23 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL