js如何验证密码强度


Posted in Javascript onMarch 18, 2020

验证“密码强度”的例子很常见,我们注册新的账号的时候往往设置密码,此时就遇到验证密码强度的问题了。“密码强度”也就是密码难易程度的意思。

原理:

1、如果输入的密码为单纯的数字或者字母:提示“

2、如果是数字和字母混合的:提示“” 

3、如果数字、字母、特殊字符都有:提示“

下面是一种“密码强度”的验证方法,觉得很有意思。

HTML和CSS代码:

<!DOCTYPE HTML>
<html > <!-- lang="en" -->
<head>
 <meta charset="utf-8" />
 <title>密码强度</title>
 <style type="text/css">
 
 #pwdStrength {
  height: 30px;
  width: 180px;
  border: 1px solid #ccc;
  padding: 2px;
  
 } 
 .strengthLv1 {
  background: red;
  height: 30px;
  width: 60px;
 }
 
 .strengthLv2 {
  background: orange;
  height: 30px;
  width: 120px;
 }
 
 .strengthLv3 {
  background: green;
  height: 30px;
  width: 180px;
 }
 #pwd {
  height:30px;
  font-size :20px;
 }
 strong {
  margin-left:90px;
 }
 #pwd1 {
  color:red;
  margin-top:5px;
  margin-bottom:5px;  
 }
 </style>
</head>
<body>
 <input type="password" name="pwd" id="pwd" maxlength="16" />
 <div class="pass-wrap">
 <!--<em>密码强度:</em>-->
 <p id="pwd1" name="pwd">密码强度:</p>
 <div id="pwdStrength"></div>
 </div>
</body>
</html>

javascript代码:

<script type="text/javascript">
 function PasswordStrength(passwordID, strengthID) {
 this.init(strengthID);
 var _this = this;
 document.getElementById(passwordID).onkeyup = function () {//onkeyup 事件,在键盘按键被松开时发生,进行判断
  _this.checkStrength(this.value);
 }
 };
 PasswordStrength.prototype.init = function (strengthID) {
 var id = document.getElementById(strengthID);
 var div = document.createElement('div');
 var strong = document.createElement('strong');
 this.oStrength = id.appendChild(div);
 this.oStrengthTxt = id.parentNode.appendChild(strong);
 };
 PasswordStrength.prototype.checkStrength = function (val) { //验证密码强度的函数
 var aLvTxt = ['', '低', '中', '高'];//定义提示消息的种类
 var lv = 0; //初始化提示消息为空
 if (val.match(/[a-z]/g)) { lv++; } //验证是否包含字母
 if (val.match(/[0-9]/g)) { lv++; } // 验证是否包含数字
 if (val.match(/(.[^a-z0-9])/g)) { lv++; } //验证是否包含字母,数字,字符
 if (val.length < 6) { lv = 0; } //如果密码长度小于6位,提示消息为空
 if (lv > 3) { lv = 3; } 
 this.oStrength.className = 'strengthLv' + lv;
 this.oStrengthTxt.innerHTML = aLvTxt[lv];
 };
new PasswordStrength('pwd','pwdStrength');
</script>

效果图:

js如何验证密码强度

小结:

1.利用onkeyup 事件(在键盘按键被松开时发生)进行三种判断,简单方便。
2. 正则表达式的功能真的很强大。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
拖动Html元素集合 Drag and Drop any item
Dec 22 Javascript
google地图的路线实现代码
Aug 20 Javascript
表格 隔行换色升级版
Nov 07 Javascript
js/jquery去掉空格,回车,换行示例代码
Nov 05 Javascript
解决checkbox的attr(checked)一直为undefined问题
Jun 16 Javascript
node.js中的console.assert方法使用说明
Dec 10 Javascript
举例说明如何为JavaScript的方法参数设置默认值
Nov 17 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
Aug 17 jQuery
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
Node层模拟实现multipart表单的文件上传示例
Jan 02 Javascript
node中间层实现文件上传功能
Jun 11 Javascript
javascript实现摄像头拍照预览
Sep 30 Javascript
js验证密码强度解析
Mar 18 #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
You might like
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
Javascript拓展String方法小结
2013/07/08 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
AngularJS中如何使用$http对MongoLab数据表进行增删改查
2016/01/23 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
js单页hash路由原理与应用实战详解
2017/08/14 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
2018/05/16 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
化工工艺专业求职信
2013/09/22 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
邀请函样本
2015/02/02 职场文书
客房部经理岗位职责
2015/02/02 职场文书