这篇文章主要介绍了JS基于正则表达式实现的密码强度验证功能,涉及javascript事件响应及基于正则的字符遍历、判断等相关操作,需要的朋友可以参考下

本文实例讲述了JS基于正则表达式实现的密码强度验证功能。分享给大家供大家参考,具体如下:

先来看看运行效果:

具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>www.lovean.com 爱安网</title>
</head>
<style type="text/css">
  body {
    background: #ccc;
  }
  label {
    width: 40px;
    display: inline-block;
  }
  span {
    color: red;
  }
  .container {
    margin: 100px auto;
    width: 400px;
    padding: 50px;
    line-height: 40px;
    border: 1px solid #999;
    background: #efefef;
  }
  span {
    margin-left: 30px;
    font-size: 12px;
  }
  .wrong {
    color: red
  }
  .right {
    color: green;
  }
  .strengthLv0 {
    height: 6px;
    width: 120px;
    border: 1px solid #ccc;
    padding: 2px;
  }
  .strengthLv1 {
    background: red;
    height: 6px;
    width: 40px;
    border: 1px solid #ccc;
    padding: 2px;
  }
  .strengthLv2 {
    background: orange;
    height: 6px;
    width: 80px;
    border: 1px solid #ccc;
    padding: 2px;
  }
  .strengthLv3 {
    background: green;
    height: 6px;
    width: 120px;
    border: 1px solid #ccc;
    padding: 2px;
  }
</style>
<body>
<div>
  <label>密码</label>
  <input type="text" id="inp1" maxlength="16">
  <!--<input type="password" id="inp1" maxlength="16"/>-->
  <div>
    <em>密码强度:</em>
    <em id="strength"></em>
    <div id="strengthLevel"></div>
  </div>
</div>
<script>
  var regEx = /^[1-9]\d{4,9}$/; //匹配qq号
  //找人
  var inp1 = document.getElementById("inp1");
  var strength = document.getElementById("strength");
  var strengthLevel = document.getElementById("strengthLevel");
  var arr = ["", "低", "中", "高"];
  inp1.onkeyup = function () {
    var level = 0;
    if (/[1-9]/.test(this.value)) {
      level++;
    }
    if (/[a-z]/.test(this.value)) {
      level++;
    }
    if (/[^a-z1-9]/.test(this.value)) {
      level++
    }
    if (this.value.length < 6) {
      level = 0;
    }
    strength.innerHTML = arr[level];
    strengthLevel.className = "strengthLv" + level;
  };
  /* inp1.onkeyup = function () {
   var level = 0;
   if (/[1-9]/.test(this.value)) {
   level++;
   }
   if (/[a-z]/.test(this.value)) {
   level++
   }
   if (/[^a-z0-9]/.test(this.value)) {
   level++
   }
   if (inp1.value.length < 6) {
   level = 0;
   }
   strengthLevel.className = "strengthLv"+level;
   strength.innerHTML = arr[level];
   };*/
</script>
</body>
</html>

PS:这里再为大家提供几款相关在线工具供大家参考使用:

密码安全性在线检测:
http://tools.lovean.com/password/my_password_safe

在线随机数字/字符串生成工具:
http://tools.lovean.com/aideddesign/suijishu

度密码生成器:
http://tools.lovean.com/password/CreateStrongPassword

JavaScript正则表达式在线测试工具:
http://tools.lovean.com/regex/javascript

正则表达式在线生成工具:
http://tools.lovean.com/regex/create_reg

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式大全》、《JavaScript替换操作总结》、《JavaScript查找算法总结》、《JavaScript数据结构与算法总结》、《JavaScript遍历算法与总结》、《JavaScript中json操作总结》、《JavaScript错误与调试总结》及《JavaScript数算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

最新资讯
亚马逊旗下初创企业Zoox获许在加州测试自动驾驶汽车

亚马逊旗下初创企业Zo

初创公司Zoox周五获得了加利福尼亚州当局的许可,可在没
iPhone 12Pro新配色渲染图 “红蓝CP”会不会出现呢?

iPhone 12Pro新配色渲

脑洞大开地根据新款Apple Watch制作了一张iPhone 12 P
无刘海版iPhone机模曝光 虽然外观很好看但不真实

无刘海版iPhone机模曝

网上又有网友发布消息,向大家展示了这款无刘海iPhone的
三星5nm工艺 高通骁龙875曝光:八核心三丛集架构

三星5nm工艺 高通骁龙

毫无疑问,这颗5nm处理器便是即将在年底登场的高通骁龙8
新业务密集发布 App矩阵扩充 滴滴“阵变”

新业务密集发布 App矩

据相关媒体报道,目前滴滴货运在成都、杭州等地市场份额
中国信通院预测 今年网络安全产业规模约1702亿

中国信通院预测 今年

我国网络安全产业规模呈现持续高速增长态势。2019年我
最新文章
详解Vue的ref特性的使用

详解Vue的ref特性的使

这篇文章主要介绍了详解Vue的ref特性的使用,文中通过
vue学习笔记之slot插槽基本用法实例分析

vue学习笔记之slot插

这篇文章主要介绍了vue学习笔记之slot插槽基本用法,结
vue跳转方式(打开新页面)及传参操作示例

vue跳转方式(打开新页

这篇文章主要介绍了vue跳转方式(打开新页面)及传参操作,
vue学习笔记之过滤器的基本使用方法实例分析

vue学习笔记之过滤器

这篇文章主要介绍了vue学习笔记之过滤器的基本使用方
js获取本日、本周、本月的时间代码

js获取本日、本周、本

本篇文章给大家分享的内容是利用js如何获取本日、本周
node crawler如何添加promise支持

node crawler如何添加

这篇文章主要介绍了node crawler如何添加promise支持,