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 相关文章推荐
jquery实现textarea输入字符控制(仿微博输入控制字符)
Apr 26 Javascript
鼠标经过显示二级菜单js特效
Aug 13 Javascript
VS2008中使用JavaScript调用WebServices
Dec 18 Javascript
Javascript中的call()方法介绍
Mar 15 Javascript
javascript制作2048游戏
Mar 30 Javascript
带有定位当前位置的百度地图前端web api实例代码
Jun 21 Javascript
轻松实现jquery选项卡切换效果
Oct 10 Javascript
JS实现微信里判断页面是否被分享成功的方法
Jun 06 Javascript
vuejs使用FormData实现ajax上传图片文件
Aug 08 Javascript
JS学习笔记之数组去重实现方法小结
May 29 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
Sep 11 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
Sep 22 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实现无限级分类(递归方法)
2015/08/06 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
原生js实现选项卡功能
2017/03/08 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
基于ajax实现上传图片代码示例解析
2020/12/03 Javascript
[01:04]DOTA2上海特锦赛现场采访 FreeAgain遭众解说围攻
2016/03/25 DOTA
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
python3 读写文件换行符的方法
2018/04/09 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
python+pyqt5编写md5生成器
2019/03/18 Python
python实现爬虫抓取小说功能示例【抓取金庸小说】
2019/08/09 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
CSS3实现任意图片lowpoly动画效果实例
2017/05/11 HTML / CSS
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
飞利浦法国官网:Philips法国
2019/07/10 全球购物
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
工程管理专业个人求职信范文
2013/12/07 职场文书
烹调加工管理制度
2014/02/04 职场文书
反邪教警示教育方案
2014/05/13 职场文书
开国大典观后感
2015/06/04 职场文书
幼儿园中班教育随笔
2015/08/14 职场文书
如何写好闭幕词
2019/04/02 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
关于 Python json中load和loads区别
2021/11/07 Python
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python