jQuery实用密码强度检测


Posted in Javascript onMarch 02, 2017

JQ实用密码强度检测

通过正则来判断验证密码强弱并通过替换提示图片进行显示。

素材图片,请自取:

jQuery实用密码强度检测jQuery实用密码强度检测

html源码:

<table style="width:320px;margin:40px auto;"> 
 <tr> 
  <th>密码</th> 
  <td><span class="tbl-txt"><input id="pass" class="input-style" size="30" maxlength="30" name="pass" type="text" /></span></td> 
 </tr> 
 <tr>  
  <th></th>   
  <td id="level" class="pw-strength">    
   <div class="pw-bar"></div> 
   <div class="pw-bar-on"></div> 
   <div class="pw-txt"> 
   <span>弱</span> 
   <span>中</span> 
   <span>强</span> 
   </div> 
  </td>  
 </tr> 
</table>

css源码:

.tbl-txt{font-size:14px;} 
  .tbl-txt input{padding:0 5px; height:22px; line-height:22px; margin-bottom:6px;} 
  .pw-strength {clear: both;position: relative;top: 8px;width: 180px;} 
  .pw-bar{background: url(images/pwd-1.png) no-repeat; position:relative; top:1px;height: 14px;overflow: hidden;width: 179px;} 
  .pw-bar-on{background: url(images/pwd-2.png) no-repeat; width:0px; height:14px;position: absolute;top: 1px;left: 2px;transition: width .5s ease-in;-moz-transition: width .5s ease-in;-webkit-transition: width .5s ease-in;-o-transition: width .5s ease-in;} 
  .pw-weak .pw-defule{ width:0px;} 
  .pw-weak .pw-bar-on {width: 60px;} 
  .pw-medium .pw-bar-on {width: 120px;} 
  .pw-strong .pw-bar-on {width: 179px;} 
  .pw-txt {padding-top: 2px;width: 180px;overflow: hidden;} 
  .pw-txt span {color: #707070;float: left;font-size: 12px;text-align: center;width: 58px;}

javascript源码:

$(function(){ 
 $('#pass').keyup(function () { 
  var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g"); 
  var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g"); 
  var enoughRegex = new RegExp("(?=.{6,}).*", "g"); 
  
  if (false == enoughRegex.test($(this).val())) { 
   $('#level').removeClass('pw-weak'); 
   $('#level').removeClass('pw-medium'); 
   $('#level').removeClass('pw-strong'); 
   $('#level').addClass(' pw-defule'); 
    //密码小于六位的时候,密码强度图片都为灰色 
  } 
  else if (strongRegex.test($(this).val())) { 
   $('#level').removeClass('pw-weak'); 
   $('#level').removeClass('pw-medium'); 
   $('#level').removeClass('pw-strong'); 
   $('#level').addClass(' pw-strong'); 
    //密码为八位及以上并且字母数字特殊字符三项都包括,强度最强 
  } 
  else if (mediumRegex.test($(this).val())) { 
   $('#level').removeClass('pw-weak'); 
   $('#level').removeClass('pw-medium'); 
   $('#level').removeClass('pw-strong'); 
   $('#level').addClass(' pw-medium'); 
    //密码为七位及以上并且字母、数字、特殊字符三项中有两项,强度是中等 
  } 
  else { 
   $('#level').removeClass('pw-weak'); 
   $('#level').removeClass('pw-medium'); 
   $('#level').removeClass('pw-strong'); 
   $('#level').addClass('pw-weak'); 
    //如果密码为6为及以下,就算字母、数字、特殊字符三项都包括,强度也是弱的 
  } 
  return true; 
 }); 
})

根据上述正则最终效果图如下:

jQuery实用密码强度检测

jQuery实用密码强度检测

jQuery实用密码强度检测

jQuery实用密码强度检测

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 利用className得到对象的实现代码
Nov 15 Javascript
javascript的原生方法获取数组中的最大(最小)值
Dec 19 Javascript
jQuery截取指定长度字符串的实现原理及代码
Jul 01 Javascript
JS小游戏之象棋暗棋源码详解
Sep 25 Javascript
AngularJS实现表单验证
Jan 28 Javascript
初步了解javascript面向对象
Nov 09 Javascript
JS中常用的正则表达式
Sep 29 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
Sep 11 Javascript
微信小程序实现左侧滑动导航栏
Apr 08 Javascript
JS实现网站楼层导航效果代码实例
Jun 16 Javascript
javascript实现扫雷简易版
Aug 18 Javascript
面试中canvas绘制图片模糊图片问题处理
Mar 13 Javascript
通过npm引用的vue组件使用详解
Mar 02 #Javascript
完美解决spring websocket自动断开连接再创建引发的问题
Mar 02 #Javascript
vue-dialog的弹出层组件
May 25 #Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
Mar 01 #Javascript
基于Bootstrap的网页设计实例
Mar 01 #Javascript
JS中的作用域链
Mar 01 #Javascript
javascript html5轻松实现拖动功能
Mar 01 #Javascript
You might like
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
js indexOf()定义和用法
2012/10/21 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
jQuery Checkbox 全选 反选的简单实例
2016/11/29 Javascript
VUE重点问题总结
2018/03/19 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
Python中splitlines()方法的使用简介
2015/05/20 Python
Python ldap实现登录实例代码
2016/09/30 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
python画环形图的方法
2020/03/25 Python
keras导入weights方式
2020/06/12 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
python爬取代理ip的示例
2020/12/18 Python
致长跑运动员加油稿
2014/02/20 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
检讨书范文500字
2015/01/28 职场文书
2015年六年级班主任工作总结
2015/10/15 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
Java使用JMeter进行高并发测试
2021/11/23 Java/Android
解析MySQL索引的作用
2022/03/03 MySQL
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers