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 相关文章推荐
jquery 弹出层注册页面等(asp.net后台)
Jun 17 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
Jan 16 Javascript
Jquery遍历节点的方法小集
Jan 22 Javascript
简介JavaScript中的italics()方法的使用
Jun 08 Javascript
jQuery实现新消息在网页标题闪烁提示
Jun 23 Javascript
jquery实现的3D旋转木马特效代码分享
Aug 25 Javascript
javascript变量提升和闭包理解
Mar 12 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
Nov 27 Javascript
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
laypage.js分页插件使用方法详解
Jul 27 Javascript
node.JS事件机制与events事件模块的使用方法详解
Feb 06 Javascript
vscode+gulp轻松开发小程序的完整步骤
Oct 18 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
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
javascript之dhDataGrid Ver2.0.0代码
2007/07/01 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
利用javascript实现的三种图片放大镜效果实例(附源码)
2017/01/23 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
vue中使用refs定位dom出现undefined的解决方法
2017/12/21 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
[03:17]DOTA2-DPC中国联赛1月29日Recap集锦
2021/03/11 DOTA
Python编程之string相关操作实例详解
2017/07/22 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
通过代码实例解析Pytest运行流程
2020/08/20 Python
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
美国渔具店:FishUSA
2019/08/07 全球购物
生物技术研究生自荐信
2013/11/12 职场文书
暑期社会实践感言
2014/02/25 职场文书
个人作风建设心得体会
2014/10/22 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
保管员岗位职责
2015/02/14 职场文书
初中历史教学反思
2016/02/19 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
mysql实现将字符串字段转为数字排序或比大小
2022/06/14 MySQL
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers