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 禁用只读文本框获得焦点时的退格键
Apr 25 Javascript
动态加载外部javascript文件的函数代码分享
Jul 28 Javascript
javascript学习笔记(六) Date 日期类型
Jun 19 Javascript
Javascript URI 解析介绍
Mar 15 Javascript
三种带箭头提示框总结实例
Jun 14 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
Aug 30 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
Sep 14 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
Dec 09 Javascript
JS异步宏队列微队列原理详解
Sep 09 Javascript
js实现简单的随机点名器
Sep 17 Javascript
vue使用过滤器格式化日期
Jan 20 Vue.js
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性能优化分析工具XDebug 大型网站调试工具
2011/05/22 PHP
php实现给图片加灰色半透明效果的方法
2014/10/20 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
PHP实现QQ登录实例代码
2016/01/14 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
python3 shelve模块的详解
2017/07/08 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
python实现拼图小游戏
2020/02/22 Python
python str字符串转uuid实例
2020/03/03 Python
python 星号(*)的多种用途
2020/09/21 Python
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
新加坡第一大健康与美容零售商:屈臣氏新加坡(Watsons Singapore)
2020/12/11 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
会计找工作求职信范文
2013/12/09 职场文书
预备党员转正思想汇报
2014/01/12 职场文书
授权委托书范文
2014/07/31 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
机器人总动员观后感
2015/06/09 职场文书
HTTP中的Content-type详解
2022/01/18 HTML / CSS