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 相关文章推荐
js判断鼠标同时离开两个div的思路及代码
May 31 Javascript
javaScript 动态访问JSon元素示例代码
Aug 30 Javascript
用js的for循环获取radio选中的值
Oct 21 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
Mar 13 Javascript
js文本框输入内容智能提示效果
Dec 02 Javascript
JavaScript实现复制文章自动添加版权
Aug 02 Javascript
Form表单按回车自动提交表单的实现方法
Nov 18 Javascript
Bootstrap基本样式学习笔记之按钮(4)
Dec 07 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
Jul 17 Javascript
详解Vue.js项目API、Router配置拆分实践
Mar 16 Javascript
JS+CSS实现炫酷光感效果
Sep 05 Javascript
基于Vue+Webpack拆分路由文件实现管理
Nov 16 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中get_meta_tags()、CURL与user-agent用法分析
2014/12/16 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
angular实现图片懒加载实例代码
2017/06/08 Javascript
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
vue使用高德地图根据坐标定位点的实现代码
2019/08/22 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
基于openlayers实现角度测量功能
2020/09/28 Javascript
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
使用python装饰器验证配置文件示例
2014/02/24 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
python九九乘法表的实例
2017/09/26 Python
django 修改server端口号的方法
2018/05/14 Python
python支持多线程的爬虫实例
2019/12/21 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
汉米尔顿手表官网:Hamilton
2020/09/13 全球购物
大学生最常用的自我评价
2013/12/07 职场文书
车间操作工岗位职责
2013/12/19 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python