JavaScript正则验证密码强弱度

2023-10-11 18:40

本文主要是介绍JavaScript正则验证密码强弱度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 展示
    • 设计
      • 密码强弱度分析
    • 代码
      • 版本一:基本
      • 版本二:升级

展示

在这里插入图片描述

设计

密码强弱度分析

密码由数字,字母,特殊符号组成

  • 密码: 只有数字- 或者是只有字母,或者是只有特殊符号——1级:弱
  • 两两组合: 数字和字母, 数字和特殊符号, 字母和特殊符号——2级:中
  • 三者都有: 数字和字母和特殊符号——3级:强

代码

版本一:基本

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<style type="text/css">#dv{width: 300px;height:200px;position: absolute;left:100px;top:100px;}.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 id="dv"><label for="password">密码</label><input type="text" id="password" maxlength="16"><div><b>密码强度:</b><em id="strength"></em><div id="strengthLevel" class="strengthLv0"></div></div>
</div>
<script>function my$(id) {return document.getElementById(id);}//获取文本框注册键盘抬起事件my$("password").onkeyup=function () {//每次键盘抬起都要获取文本框中的内容,验证文本框中有什么东西,得到一个级别,然后下面的div显示对应的颜色//如果密码的长度是小于6的,没有必要判断if(this.value.length>=6){var lvl=getLvl(this.value);if(lvl==1){//弱my$("strengthLevel").className="strengthLv1";}else if(lvl==2){my$("strengthLevel").className="strengthLv2";}else if(lvl==3){my$("strengthLevel").className="strengthLv3";}else{my$("strengthLevel").className="strengthLv0";}}else{my$("strengthLevel").className="strengthLv0";}};//给我密码,我返回对应的级别function getLvl(password) {var lvl=0;//默认是0级//密码中是否有数字,或者是字母,或者是特殊符号if(/[0-9]/.test(password)){lvl++;}//判断密码中有没有字母if(/[a-zA-Z]/.test(password)){lvl++;}//判断密码中有没有特殊符号if(/[^0-9a-zA-Z_]/.test(password)){lvl++;}return lvl;//1  3}</script>
</body>
</html>

上面代码有点冗余,我们对其进行升级改写

版本二:升级

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<style type="text/css">#dv{width: 300px;height:200px;position: absolute;left:100px;top:100px;}.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 id="dv"><label for="password">密码</label><input type="text" id="password" maxlength="16"><!--课外话题--><div><b>密码强度:</b><em id="strength"></em><div id="strengthLevel" class="strengthLv0"></div></div>
</div>
<!-- <script src="common.js"></script> -->
<script>function my$(id) {return document.getElementById(id);}//获取文本框注册键盘抬起事件my$("password").onkeyup=function () {//每次键盘抬起都要获取文本框中的内容,验证文本框中有什么东西,得到一个级别,然后下面的div显示对应的颜色my$("strengthLevel").className="strengthLv"+(this.value.length>=6?getLvl(this.value) :0);};//给我密码,我返回对应的级别function getLvl(password) {var lvl=0;//默认是0级//密码中是否有数字,或者是字母,或者是特殊符号if(/[0-9]/.test(password)){lvl++;}//判断密码中有没有字母if(/[a-zA-Z]/.test(password)){lvl++;}//判断密码中有没有特殊符号if(/[^0-9a-zA-Z_]/.test(password)){lvl++;}return lvl;//最小的值是1,最大值是3}</script>
</body>
</html>

这篇关于JavaScript正则验证密码强弱度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/190076

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

MySQL修改密码的四种实现方式

《MySQL修改密码的四种实现方式》文章主要介绍了如何使用命令行工具修改MySQL密码,包括使用`setpassword`命令和`mysqladmin`命令,此外,还详细描述了忘记密码时的处理方法,包... 目录mysql修改密码四种方式一、set password命令二、使用mysqladmin三、修改u

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo