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 相关文章推荐
用javascript实现计算两个日期的间隔天数
Aug 14 Javascript
Js 订制自己的AlertBox(信息提示框)
Jan 09 Javascript
在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
Dec 20 Javascript
jquery控制左右箭头滚动图片列表的实例
May 20 Javascript
用Javascript来生成ftp脚本的小例子
Jul 03 Javascript
JQuery对表格进行操作的常用技巧总结
Apr 23 Javascript
javascript三元运算符用法实例
Apr 16 Javascript
AngularJS 输入验证详解及实例代码
Jul 28 Javascript
JavaScript实现图片懒加载(Lazyload)
Nov 28 Javascript
值得分享和收藏的xmlplus组件学习教程
May 05 Javascript
JavaScript基础心法 数据类型
Mar 05 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
Mar 17 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 和 XML: 使用expat函数(二)
2006/10/09 PHP
表单复选框向PHP传输数据的代码
2007/11/13 PHP
php 随机排序广告的实现代码
2011/05/09 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
php输出图像的方法实例分析
2017/02/16 PHP
Add Formatted Text to a Word Document
2007/06/15 Javascript
JavaScript 事件对象的实现
2009/07/13 Javascript
JS 事件绑定函数代码
2010/04/28 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
微信小程序tabbar不显示解决办法
2017/06/08 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
Python实现数据库编程方法详解
2015/06/09 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
利用nohup来开启python文件的方法
2019/01/14 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
详解python中eval函数的作用
2019/10/22 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
历史系自荐信范文
2013/12/24 职场文书
小学英语教学反思案例
2014/02/04 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
私人房屋买卖协议书
2014/10/04 职场文书
婚宴主持词
2015/06/30 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书