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的面向对象(一)
Nov 09 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
Feb 18 Javascript
Javascript控制input输入时间格式的方法
Jan 28 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
Aug 21 Javascript
实例详解AngularJS实现无限级联动菜单
Jan 15 Javascript
JS实现页面打印功能
Mar 16 Javascript
详解vue 数据传递的方法
Apr 19 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
Jul 09 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
Dec 10 Javascript
微信小程序基于Taro的分享图片功能实践详解
Jul 12 Javascript
JS使用正则表达式判断输入框失去焦点事件
Oct 16 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 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之第七天
2006/10/09 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
2020/12/16 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
js showModalDialog参数的使用详解
2014/01/07 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
Javascript获取统一管理的提示语(message)
2016/02/03 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
js实现随机点名
2021/01/19 Javascript
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
布同 统计英文单词的个数的python代码
2011/03/13 Python
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
python中map()函数的使用方法示例
2017/09/29 Python
python去除字符串中的换行符
2017/10/11 Python
python中import reload __import__的区别详解
2017/10/16 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
python 格式化输出百分号的方法
2019/01/20 Python
python能做什么 python的含义
2019/10/12 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
英语专业学子个人的自我评价
2013/10/02 职场文书
创先争优标语
2014/06/27 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
匿名检举信范文
2015/03/02 职场文书
小学校长个人总结
2015/03/03 职场文书
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS