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 相关文章推荐
function foo的原型与prototype属性解惑
Nov 19 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
Dec 08 Javascript
JavaScript判断前缀、后缀是否是空格的方法
Apr 15 Javascript
微信小程序 教程之小程序配置
Oct 17 Javascript
jQuery 常见小例汇总
Dec 14 Javascript
javaScript基础详解
Jan 19 Javascript
javaScript嗅探执行神器-sniffer.js
Feb 14 Javascript
Vue加载组件、动态加载组件的几种方式
Aug 31 Javascript
jquery将json转为数据字典的实例代码
Oct 11 jQuery
微信小程序定义和调用全局变量globalData的实现
Nov 01 Javascript
js利用iframe实现选项卡效果
Aug 09 Javascript
javascript实现一款好看的秒表计时器
Sep 05 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
ADODB类使用
2006/11/25 PHP
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
2012/07/22 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
php实现图片压缩处理
2020/09/09 PHP
window.open的功能全解析
2006/10/10 Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
js实现华丽的九九乘法表效果
2017/03/29 Javascript
浅谈node的事件机制
2017/10/09 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
python 正则式使用心得
2009/05/07 Python
python操作mysql数据库
2017/03/05 Python
CSS3使用多列制作瀑布流
2016/05/10 HTML / CSS
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
一道SQL面试题
2012/12/31 面试题
幼儿园师德演讲稿
2014/05/06 职场文书
法学专业毕业生求职信
2014/06/12 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
年度考核表个人总结
2015/03/06 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
《悬崖边的树》读后感2篇
2019/12/02 职场文书
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android