js验证密码强度解析


Posted in Javascript onMarch 18, 2020

这篇文章我们来说一个验证密码强度的例子,大家在进入一个网站的时候,往往都会先注册一个账号,然后输入密码,在输密码的时候,系统会根据我们输入的密码组成的复杂程度来给你的密码显示一个密码强度,一般就是强中弱三种,我们先来说一下密码验证的原理,原理明白了,js代码就好写了,今天的代码会用到正则表达式。

首先说一下密码强度的三种等级是如何划分的?

弱:一般就是纯数字或纯小写字母或者纯大写字母组成的,这种密码较简单,所以安全等级为弱。
中:由上述情况中的任意两种组成的密码强度为中。
强:上述三种情况都有。

再来说一下表示强中弱的三个div随着密码的输入来显示对应的强度,首先我们先写一个class名为active的样式,颜色随便写一下,然后判断完输入的密码强度等级之后,把对应的强度的div的class名改为active就可以了。

写代码吧:

html:

<div id = 'div1'>
 <input type="text" id = 'password' placeholder="密码"/>
 <div id = 'intension'>
 <div>弱</div>
 <div>中</div>
 <div>强</div>
 </div>
</div>

css:

<style>
 #div1{width: 350px; height: 200px; background-color: orange; border: 1px solid black; margin: 100px auto; text-align: center; padding-top: 50px}
 #intension div{background-color: gray; width: 80px; height: 20px; text-align: center; line-height: 20px; margin: 5px; float: left; }
 #intension{width: 270px; margin-left: 40px}
 #password{width: 300px; height: 30px; font-size: 18px;}
 #intension .active{background-color: pink}
</style>

js代码:

万年不变的获取id:

var oPassword = document.getElementById("password");
var oDiv = document.getElementById("intension");
var nodes = oDiv.getElementsByTagName("div");

然后用正则表达式来判断密码强度

oPassword.onkeyup = function(){
var oValue = oPassword.value;

  for(var i = 0; i < nodes.length; i++){
  nodes[i].className = '';
  } 

  if(/\d/.test(oValue) && /[a-z]/.test(oValue) && /[A-Z]/.test(oValue)){
  nodes[2].className = "active";
  }else if(/^\d+$/.test(oValue) || /^[A-Z]+$/.test(oValue) || /^[a-z]+$/.test(oValue)){
  nodes[0].className = "active";
  }else{
  nodes[1].className = "active";
  }

 }

这样我们的验证密码强度就完成了!

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

Javascript 相关文章推荐
window.location和document.location的区别分析
Dec 23 Javascript
kmock javascript 单元测试代码
Feb 06 Javascript
jquery 删除cookie失效的解决方法
Nov 12 Javascript
jsPDF生成pdf后在网页展示实例
Jan 16 Javascript
TypeOf这些知识点你了解吗
Feb 21 Javascript
bootstrap弹出层的多种触发方式
May 10 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
Jul 12 jQuery
webpack 插件html-webpack-plugin的具体使用
Apr 09 Javascript
微信小程序云开发之数据库操作
May 18 Javascript
vue + axios get下载文件功能
Sep 25 Javascript
JS实现普通轮播图特效
Jan 01 Javascript
vue 全局封装loading加载教程(全局监听)
Nov 05 Javascript
js实现超级玛丽小游戏
Mar 18 #Javascript
vue 封装 Adminlte3组件的实现
Mar 18 #Javascript
JavaScript仿京东秒杀倒计时
Mar 17 #Javascript
JavaScript写个贪吃蛇小游戏(超详细)
Mar 17 #Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
Mar 17 #Javascript
js实现简单点赞操作
Mar 17 #Javascript
vue+ESLint 配置保存 自动格式化代码
Mar 17 #Javascript
You might like
一个PHP的QRcode类与大家分享
2011/11/13 PHP
ThinkPHP空模块和空操作详解
2014/06/30 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
2021/03/09 PHP
jquery中animate动画积累的解决方法
2013/10/05 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
jQuery统计指定子元素数量的方法
2015/03/17 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
javascript实现的多个层切换效果通用函数实例
2015/07/06 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
基于jQuery实现弹幕APP
2017/02/10 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
js编写简易的计算器
2020/07/29 Javascript
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
详解Python中的type和object
2018/08/15 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
使用django实现一个代码发布系统
2019/07/18 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
临床医学专业学生的自我评价分享
2013/11/21 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
研修第一天随笔感言
2014/02/15 职场文书
倡议书的写法
2014/08/30 职场文书
大专护理专业自荐信
2015/03/25 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
学校2016年圣诞节活动总结
2016/03/31 职场文书
2019毕业典礼主持词!
2019/07/05 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
如何用Python搭建gRPC服务
2021/06/30 Python