JS正则表达式验证密码强度


Posted in Javascript onMarch 18, 2020

本文实例为大家分享了JS正则表达式验证密码强度的具体代码,供大家参考,具体内容如下

代码1:

<!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:300px;
  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="pwd">密码</label>
 <input type="text" id="pwd" maxlength="16"><!--课外话题-->
 <div>
  <em>密码强度:</em>
  <em id="strength"></em>
  <div id="strengthLevel" class="strengthLv0"></div>
 </div>
</div>
<script src="common.js"></script>
<script>
 
 /*
 *
 * 密码: 数字,字母,特殊符号
 *
 * 密码: 只有数字- 或者是只有字母,或者是只有特殊符号---1级---弱
 * 两两组合: 数字和字母, 数字和特殊符号, 字母和特殊符号  -----2级----中
 * 三者都有: 数字和字母和特殊符号------3级-----强
 *
 * */
 
 //获取文本框注册键盘抬起事件
 my$("pwd").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(pwd) {
  var lvl=0;//默认是0级
  //密码中是否有数字,或者是字母,或者是特殊符号
  if(/[0-9]/.test(pwd)){
   lvl++;
  }
  //判断密码中有没有字母
  if(/[a-zA-Z]/.test(pwd)){
   lvl++;
  }
  //判断密码中有没有特殊符号
  if(/[^0-9a-zA-Z_]/.test(pwd)){
   lvl++;
  }
  return lvl;//1 3
 }
 
</script>
 
</body>
</html>

优化代码2:

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

common.js

/**
 * 获取指定标签对象
 * @param id 标签的id属性值
 * @returns {Element}根据id属性值返回指定标签对象
 */
function my$(id) {
 return document.getElementById(id);
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript高级程序设计 错误处理与调试学习笔记
Sep 10 Javascript
JavaScript插入动态样式实现代码
Feb 22 Javascript
js实现的标题栏新消息闪烁提示效果
Jun 06 Javascript
js+css实现导航效果实例
Feb 10 Javascript
用js编写的简单的计算器代码程序
Aug 04 Javascript
JS实现鼠标框选效果完整实例
Jun 20 Javascript
js运动事件函数详解
Oct 21 Javascript
Bootstrap基本组件学习笔记之进度条(15)
Dec 08 Javascript
AngularJS实现进度条功能示例
Jul 05 Javascript
微信小程序实现换肤功能
Mar 14 Javascript
详解vue-cli项目中怎么使用mock数据
May 29 Javascript
JavaScript内置对象之Array的使用小结
May 12 Javascript
原生js实现密码强度验证功能
Mar 18 #Javascript
JavaScript实现密码强度实时验证
Mar 18 #Javascript
js如何验证密码强度
Mar 18 #Javascript
js验证密码强度解析
Mar 18 #Javascript
js实现超级玛丽小游戏
Mar 18 #Javascript
vue 封装 Adminlte3组件的实现
Mar 18 #Javascript
JavaScript仿京东秒杀倒计时
Mar 17 #Javascript
You might like
用php获取远程图片并把它保存到本地的代码
2008/04/07 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
php 如何获取数组第一个值
2013/08/06 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
[52:14]VG vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
详解Python中的日志模块logging
2015/06/19 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
python线程join方法原理解析
2020/02/11 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
用python制作个音乐下载器
2021/01/30 Python
北美三大旅游网站之一:Travelocity
2017/08/12 全球购物
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
机械专业应届生求职信
2013/12/12 职场文书
客户接待方案
2014/02/26 职场文书
中国好声音华少广告词
2014/03/17 职场文书
优秀少先队大队辅导员事迹材料
2014/05/04 职场文书
跳槽求职信范文
2014/05/26 职场文书
父亲节活动策划方案
2014/08/24 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
董事长年会致辞
2015/07/29 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server
Python实现数据的序列化操作详解
2022/07/07 Python