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避免$符和其他JS库冲突的方法对比
Feb 20 Javascript
JavaScript改变CSS样式的方法汇总
May 07 Javascript
浅析JavaScript访问对象属性和方法及区别
Nov 16 Javascript
如何判断Javascript对象是否存在的简单实例
May 18 Javascript
使用 bootstrap modal遇到的问题小结
Nov 09 Javascript
JavaScript易错知识点整理
Dec 05 Javascript
javaScript实现游戏倒计时功能
Nov 17 Javascript
Javascript实现动态时钟效果
Nov 17 Javascript
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
vue-for循环嵌套操作示例
Jan 28 Javascript
详解VUE前端按钮权限控制
Apr 26 Javascript
微信小程序 下拉刷新及上拉加载原理解析
Nov 06 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处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
PHP中实现中文字符进制转换原理分析
2011/12/06 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
一段实用的php验证码函数
2016/05/19 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
写的htc的数据表格
2007/01/20 Javascript
ImageFlow可鼠标控制图片滚动
2008/01/30 Javascript
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
jQuery选择器源码解读(八):addCombinator函数
2015/03/31 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
利用node.js实现自动生成前端项目组件的方法详解
2017/07/12 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
2019/12/09 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
[59:08]Ti4 冒泡赛第二天 NEWBEE vs Titan 2
2014/07/15 DOTA
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
浅析使用Python搭建http服务器
2019/10/27 Python
python基于event实现线程间通信控制
2020/01/13 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
Melissa鞋英国官方网站:Nonnon
2019/05/01 全球购物
如何利用cmp命令比较文件
2013/09/23 面试题
护理专业应届毕业生推荐信
2013/11/15 职场文书
11月红领巾广播稿
2014/01/17 职场文书
毕业设计论文评语
2014/12/31 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
高质量“欢迎词”
2019/04/03 职场文书