JS实现至少包含字母、大小写数字、字符的密码等级的两种方法


Posted in Javascript onFebruary 03, 2015

本文实例讲述了JS实现至少包含字母、大小写数字、字符的密码等级的两种方法。分享给大家供大家参考。具体如下:

前言

密码,如果设置的太简单,很容易就被攻破,所以很多网站将密码设置的要求设置的挺严格,一般是字母、数字、字符3选2,区分大小写。对于设置得太简单的密码,予以错误提示。或者予以密码等级(低中高)显示,让用户设置高级密码。那如何利用JS实现呢?

实现代码如下:

function passwordLevel(password) {
 var Modes = 0;
 for (i = 0; i < password.length; i++) {
 Modes |= CharMode(password.charCodeAt(i));
 }
 return bitTotal(Modes);
 //CharMode函数
 function CharMode(iN) {
 if (iN >= 48 && iN <= 57)//数字
  return 1;
 if (iN >= 65 && iN <= 90) //大写字母
  return 2;
 if ((iN >= 97 && iN <= 122) || (iN >= 65 && iN <= 90))
 //大小写
  return 4;
 else
  return 8; //特殊字符
 }
 //bitTotal函数
 function bitTotal(num) {
 modes = 0;
 for (i = 0; i < 4; i++) {
  if (num & 1) modes++;
  num >>>= 1;
 }
 return modes;
 }
}

使用

普通使用

使用语法:passwordLevel(string)
验证规则:数字、大写字母、小写字母、特殊字符
函数结果:返回密码中包含的规则数
运行例子:

passwordLevel("123456") //返回1

passwordLevel("Abc'123456") //返回4

结合jquery.validate.js使用:

//添加验证方法:至少包含两种规则

$.validator.addMethod("strongPsw",function(value,element){
 if(passwordLevel(value)==1){returnfalse;}
 returntrue
},"格式不符合");
//开始验证

$(".form").validate({
 rules:{
 pwd:{
  required:true, //必填
  minlength:6, //最小长度
  maxlength:32, //最大长度
  strongPsw:true, //密码强度
 },
 repwd:{
  required:true,
  minlength:6,
  maxlength:32,
  equalTo:"#pwd" //再次填写密码需一致
 }
 }
});

关于密码生成与强度检测感兴趣的朋友还可参考在线工具:

密码安全性在线检测

高强度密码生成器

短链(短网址)在线生成工具

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

Javascript 相关文章推荐
解析Javascript中大括号“{}”的多义性
Dec 02 Javascript
Js数组排序函数sort()介绍
Jun 08 Javascript
js实现网页收藏功能
Dec 17 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
May 17 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
Dec 29 Javascript
Javascript实现信息滚动效果
May 18 Javascript
vue-router单页面路由
Jun 17 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
Sep 20 Javascript
浅谈如何通过node.js对数据进行MD5加密
May 16 Javascript
vue中使用echarts制作圆环图的实例代码
Jul 27 Javascript
vue实现下拉加载其实没那么复杂
Aug 13 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
Nov 10 Javascript
Javascript中call和apply函数的比较和使用实例
Feb 03 #Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
Feb 03 #Javascript
jQuery内部原理和实现方式浅析
Feb 03 #Javascript
jQuery中extend函数的实现原理详解
Feb 03 #Javascript
jQuery中noconflict函数的实现原理分解
Feb 03 #Javascript
jQuery中的pushStack实现原理和应用实例
Feb 03 #Javascript
JavaScript闭包详解
Feb 02 #Javascript
You might like
php常用数学函数汇总
2014/11/21 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
php实现Session存储到Redis
2015/11/11 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
PHP调用全国天气预报数据接口查询天气示例
2019/02/20 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
2014/03/12 Javascript
Web前端开发工具——bower依赖包管理工具
2016/03/29 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
说一说Python logging
2016/04/15 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
matplotlib 输出保存指定尺寸的图片方法
2018/05/24 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
Python+Selenium使用Page Object实现页面自动化测试
2019/07/14 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
缅怀先烈演讲稿
2014/09/03 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
教师求职简历自我评价
2015/03/10 职场文书
公司开会通知
2015/04/20 职场文书
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技