JS 密码强度校验的正则表达式(简单且好用)

发布时间 - 2026-01-10 22:32:40    点击率:

最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高)。今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求。

html 代码如下:

<!DOCTYPE HTML>
<html lang="en">
<head>
  <meta charset="utf-8"/>
  <title>密码强度</title>
  <style type="text/css">
  #passStrength{height:6px;width:120px;border:1px solid #ccc;padding:2px;}
  .strengthLv1{background:red;height:6px;width:40px;}
  .strengthLv2{background:orange;height:6px;width:80px;}
  .strengthLv3{background:green;height:6px;width:120px;}
  </style>
</head>
<body>
  <input type="password" name="pass" id="pass" maxlength="16"/>
  <div class="pass-wrap">
    <em>密码强度:</em>
    <div id="passStrength"></div>
  </div>
</body>
</html>
<script type="text/javascript" src="js/passwordStrength.js"></script>
<script type="text/javascript">
new PasswordStrength('pass','passStrength');
</script>

js 代码如下:

function PasswordStrength(passwordID,strengthID){
  this.init(strengthID);
  var _this = this;
  document.getElementById(passwordID).onkeyup = function(){
    _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;}
  if(lv > 3){lv=3;}
  this.oStrength.className = 'strengthLv' + lv;
  this.oStrengthTxt.innerHTML = aLvTxt[lv];
};

效果图:

使用说明:

1、对象的第一个参数是密码输入框的 id,第二个参数是密码强度长条的 id。

2、checkStrength 方法中可以自定义密码强度的规则。

3、密码强度显示低中高分别对应 3 个 css 样式(strengthLv1、strengthLv2、strengthLv3)。

以上所述是小编给大家介绍的JS 密码强度校验的正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# js密码强度正则表达式  # 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等  # Javascript校验密码复杂度的正则表达式  # js正则表达式校验指定字符串的方法  # Web 前端常用正则校验规则整理(常用示例)  # 前端使用正则表达式进行校验的方法总结大全  # 给大家  # 小编  # 第一个  # 在此  # 就把  # 第二个  # 自定义  # 所述  # 给我留言  # 感谢大家  # 输入框  # 输入密码  # 疑问请  # 有任何  # 网上  # 正则表达式  # solid  # ccc  # border  # passStrength 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 浅谈javascript alert和confirm的美化  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  如何在阿里云通过域名搭建网站?  Laravel如何配置任务调度?(Cron Job示例)  bing浏览器学术搜索入口_bing学术文献检索地址  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  详解jQuery停止动画——stop()方法的使用  新三国志曹操传主线渭水交兵攻略  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  javascript基本数据类型及类型检测常用方法小结  如何用搬瓦工VPS快速搭建个人网站?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  JavaScript如何实现错误处理_try...catch如何捕获异常?  html如何与html链接_实现多个HTML页面互相链接【互相】  EditPlus中的正则表达式 实战(1)  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  如何在万网自助建站平台快速创建网站?  JS去除重复并统计数量的实现方法  如何快速登录WAP自助建站平台?  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  香港服务器如何优化才能显著提升网站加载速度?  php 三元运算符实例详细介绍  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  详解vue.js组件化开发实践  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  如何用JavaScript实现文本编辑器_光标和选区怎么处理  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何安全更换建站之星模板并保留数据?  Python结构化数据采集_字段抽取解析【教程】  Laravel如何生成URL和重定向?(路由助手函数)  中国移动官方网站首页入口 中国移动官网网页登录  Laravel如何创建自定义Artisan命令?(代码示例)  如何在阿里云部署织梦网站?  如何快速搭建高效WAP手机网站吸引移动用户?  如何在IIS中新建站点并解决端口绑定冲突?  海南网站制作公司有哪些,海口网是哪家的?  lovemo网页版地址 lovemo官网手机登录  再谈Python中的字符串与字符编码(推荐)  Python文件异常处理策略_健壮性说明【指导】  EditPlus中的正则表达式 实战(2)  简单实现Android验证码  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  装修招标网站设计制作流程,装修招标流程?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)