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编程语言的编码规范
Oct 21 Javascript
无缝滚动js代码通俗易懂(自写)
Jun 19 Javascript
JS localStorage实现本地缓存的方法
Jun 22 Javascript
用innerhtml提高页面打开速度的方法
Aug 02 Javascript
解析JavaScript中的字符串类型与字符编码支持
Jun 24 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
Oct 10 Javascript
vue之数据交互实例代码
Jun 16 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
Jan 27 Javascript
利用types增强vscode中js代码提示功能详解
Jul 07 Javascript
基于AngularJs select绑定数字类型的问题
Oct 08 Javascript
详解vue在项目中使用百度地图
Mar 26 Javascript
JS中==、===你分清楚了吗
Mar 04 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
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
php实现异步数据调用的方法
2015/12/24 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
JavaScript匿名函数与委托使用示例
2014/07/22 Javascript
JavaScript 学习笔记之数据类型
2015/01/14 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
H5手机端多文件上传预览插件
2017/04/21 Javascript
一文让你彻底搞清楚javascript中的require、import与export
2017/09/24 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
Python MySQLdb Linux下安装笔记
2015/05/09 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
pygame实现飞机大战
2020/03/11 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
高中的自我鉴定
2013/12/16 职场文书
捐资助学感谢信
2015/01/21 职场文书
秋菊打官司观后感
2015/06/03 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书