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 相关文章推荐
js导出table数据到excel即导出为EXCEL文档的方法
Oct 10 Javascript
javascript匿名函数应用示例介绍
Mar 07 Javascript
jQuery 计算iframe 窗口大小的方法
May 13 Javascript
一个支持任意尺寸的图片上下左右滑动效果
Aug 24 Javascript
一个JavaScript处理textarea中的字符成每一行实例
Sep 22 Javascript
Js 正则表达式知识汇总
Dec 02 Javascript
JavaScript实现的微信二维码图片生成器的示例
Oct 26 Javascript
js正则表达式验证表单【完整版】
Mar 06 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
Jun 14 Javascript
vue+iview+less 实现换肤功能
Aug 17 Javascript
使用ng-packagr打包Angular的方法示例
Sep 21 Javascript
vue移动端下拉刷新和上滑加载
Oct 27 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
php多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
php创建多级目录的方法
2015/03/24 PHP
php框架CodeIgniter主从数据库配置方法分析
2018/05/25 PHP
浅谈php://filter的妙用
2019/03/05 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
2019/07/09 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
uni-app 自定义底部导航栏的实现
2020/12/11 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
windows下Python实现将pdf文件转化为png格式图片的方法
2017/07/21 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
2018/11/14 Python
python中有关时间日期格式转换问题
2019/12/25 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
css3 position fixed固定居中问题解决方案
2014/08/19 HTML / CSS
精彩的大学生自我评价
2013/11/17 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
单位工程竣工验收方案
2014/03/16 职场文书
525心理活动总结
2014/07/04 职场文书
廉政教育的心得体会
2014/09/01 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
索赔员岗位职责
2015/02/15 职场文书
食品药品安全责任书
2015/05/11 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
责任书格式
2019/04/18 职场文书
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python