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 相关文章推荐
innerText和textContent对比及使用介绍
Feb 27 Javascript
JS 在指定数组中随机取出N个不重复的数据
Jun 10 Javascript
Javascript中关于Array.filter()的妙用详解
Dec 04 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
May 13 jQuery
微信小程序网络请求wx.request详解及实例
May 18 Javascript
vue初始化动画加载的实例
Sep 01 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
用 js 写一个 js 解释器过程详解
Aug 02 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
Dec 20 Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 Javascript
Vue双向数据绑定(MVVM)的原理
Oct 03 Javascript
vant自定义二级菜单操作
Nov 02 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 mssql 时间格式问题
2009/01/13 PHP
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
js创建对象的方法汇总
2016/01/07 Javascript
分享javascript计算时间差的示例代码
2020/03/19 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
Vue常用传值方式、父传子、子传父及非父子实例分析
2020/02/24 Javascript
jquery实现上传文件进度条
2020/03/26 jQuery
原生js实现购物车功能
2020/09/23 Javascript
Python简单获取自身外网IP的方法
2016/09/18 Python
python logging模块的使用总结
2019/07/09 Python
python中自带的三个装饰器的实现
2019/11/08 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
Python timeit模块的使用实践
2020/01/13 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
几道数据库的概念性面试题
2014/05/30 面试题
大学生饮食连锁店创业计划书
2014/01/17 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
争先创优公开承诺书
2014/08/30 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
电力安全学习心得体会
2016/01/18 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python