JS利用正则表达式实现简单的密码强弱判断实例
时间:2019-03-30
本文章向大家介绍JS利用正则表达式实现简单的密码强弱判断实例,主要包括JS利用正则表达式实现简单的密码强弱判断实例使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
实现功能:
1、输入字符要在6-16之间;小于6个字符或大于16个字符时给予提示,而且强弱不显示;为0时,也给予提示;
2、当密码在6-16个字符之间时,如果密码全是数字或全是字母,显示弱;密码是数字与字母的组合,则显示强;若为字母数字加下划线,则为强;
效果图如下:
代码如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> .mm-body{ position: relative; height: 100px; width: 450px; background-color: wheat; } .mm-top{ height:35px; width: 450px; background-color: wheat; } .mm-sr{ height:30px; width: 100px; float: left; text-align: center; line-height: 30px; } #mm-pwd{ float: left; height:25px; background-color: ghostwhite; border-radius: 5px; width: 150px; } .mm-btm{ height: 40px; width: 140px; position: relative; margin-left: 110px; } #lv1,#lv2,#lv3{ height: 30px; width: 40px; border-top: 4px solid gainsboro; margin-left: 3px; float: left; font-size: 18px; text-align: center; line-height: 25px; } </style> </head> <body> <div class="mm-body"> <div class="mm-top"> <span class="mm-sr">请输入密码:</span> <form method="get" action="data.html" > <input type="password" id="mm-pwd" onkeyup="show()"/> </form> <span id="mm-pd"style="color: red; font-size: 12px; line-height: 30px;"></span> </div> <div class="mm-btm"> <div id="lv1">弱</div> <div id="lv2">中</div> <div id="lv3">强</div> <!--强度判断也可用表格做 <table border="0px" cellpadding="0px" cellspacing="1px" > <tr height="20px" > <td width="40px" id="lv1" style="border-top: 3px solid darkgrey;">弱</td> <td width="40px" id="lv2" style="border-top: 3px solid darkgrey;">中</td> <td width="40px" id="lv3" style="border-top: 3px solid darkgrey;">强</td> </tr> </table>--> </div> </div> </body> </html> <script language="JavaScript"> function show(){ var a=document.getElementById("mm-pwd").value; if(a.length==0){ document.getElementById("mm-pd").innerHTML="密码不能为空!"; } else if(a.length<6){ document.getElementById("mm-pd").innerHTML="密码长度小于6个字符!"; } else if(a.length>=6&&a.length<=16){ document.getElementById("mm-pd").innerHTML=""; var reg=/^[0-9]{6,16}$|^[a-zA-Z]{6,16}$/; //全是数字或全是字母 6-16个字符 var reg1=/^[A-Za-z0-9]{6,16}$/; //数字、26个英文字母 6-16个字符 var reg2=/^\w{6,16}$/; // 由数字、26个英文字母或者下划线组成的字符串 6-16个字符 if(a.match(reg)){ document.getElementById("lv1").style.borderTopColor="red"; } else if(a.match(reg1)){ document.getElementById("lv1").style.borderTopColor="red"; document.getElementById("lv2").style.borderTopColor="yellow"; } else if(a.match(reg2)){ document.getElementById("lv1").style.borderTopColor="red"; document.getElementById("lv2").style.borderTopColor="yellow"; document.getElementById("lv3").style.borderTopColor="green"; } } else if(a.length>16){ document.getElementById("mm-pd").innerHTML="密码长度大于16个字符!"; document.getElementById("lv1").style.borderTopColor="gainsboro"; document.getElementById("lv2").style.borderTopColor="gainsboro"; document.getElementById("lv3").style.borderTopColor="gainsboro"; } } </script>
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解Android Service 使用时的注意事项
- Android自定义View实现QQ运动积分转盘抽奖功能
- 请简述Spring JDBC是如何进行配置的
- Java高频面试题 -- 静态
- 2020Java核心面试题--基础题
- 一日一技:在网页上如何获取鼠标当前指向的元素
- B树和B+树
- 根据CCDS数据库信息拿到全部外显子坐标
- 查找算法其实不简单
- 一日一技:如何防止 Homebrew 自动升级和自动清理过期程序
- 吐血整理--史上最全排序算法Python实现
- 2020数据库最新面试题常考汇总
- [剑指Offer]面试题25: 合并两个排序的链表
- 环形链表
- 二十年前做科研你只需要检测一些基因在一些癌症细胞系表达量情况即可