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 相关文章推荐
JavaScript 继承的实现
Jul 09 Javascript
prototype 中文参数乱码解决方案
Nov 09 Javascript
js中if语句的几种优化代码写法
Mar 12 Javascript
『jQuery』名称冲突使用noConflict方法解决
Apr 22 Javascript
javascript 获取模态窗口的滚动位置代码
Aug 06 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
Jan 13 Javascript
防止登录页面出现在frame中js代码
Jul 22 Javascript
jQuery实现带动画效果的多级下拉菜单代码
Sep 08 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
Sep 11 Javascript
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
Express系列之multer上传的使用
Oct 27 Javascript
react router4+redux实现路由权限控制的方法
May 03 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
多重?l件?合查?(二)
2006/10/09 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
利用js 进行输入框自动匹配字符的小例子
2013/06/29 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
2015/10/22 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
Python 操作MySQL详解及实例
2017/04/30 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
python argparser的具体使用
2019/11/10 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
html5的localstorage详解
2017/05/09 HTML / CSS
拉丁舞学习者的自我评价
2013/10/27 职场文书
应届生新闻编辑求职信
2013/11/19 职场文书
电子商务应届生自我鉴定
2014/01/13 职场文书
《日月潭》教学反思
2014/02/28 职场文书
大学班级学风建设方案
2014/05/01 职场文书
班级读书活动总结
2014/06/30 职场文书
教师个人教学总结
2015/02/11 职场文书
元宵节寄语大全
2015/02/27 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
Nginx代理同域名前后端分离项目的完整步骤
2021/03/31 Servers
Django分页器的用法你都了解吗
2021/05/26 Python
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技