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 相关文章推荐
jquery 插件开发方法小结
Oct 23 Javascript
jQuery 点击图片跳转上一张或下一张功能的实现代码
Mar 12 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
js获取及判断键盘按键的方法
Dec 01 Javascript
JS中BOM相关知识点总结(必看篇)
Nov 22 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
Jan 09 Javascript
jQuery实现拖动效果的实例代码
Jun 25 jQuery
基于JavaScript实现微信抢红包功能
Jul 20 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
Jul 21 Javascript
浅谈Vue-cli 命令行工具分析
Nov 22 Javascript
vue 项目接口管理的实现
Jan 17 Javascript
解决vue项目中出现Invalid Host header的问题
Nov 17 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 全角转半角实现代码
2010/05/16 PHP
php不写闭合标签的好处
2014/03/04 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
图片自动缩小 点击放大
2008/07/07 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
Nodejs中session的简单使用及通过session实现身份验证的方法
2016/02/04 NodeJs
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
JavaScript 数组some()和filter()的用法及区别
2016/05/20 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
Python中装饰器学习总结
2018/02/10 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
前端面试必备之CSS3的新特性
2017/09/05 HTML / CSS
html5使用canvas实现跟随光标跳动的火焰效果
2014/01/07 HTML / CSS
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
最新奶茶店创业计划书
2014/01/25 职场文书
2014年部门工作总结
2014/11/12 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
IDEA使用SpringAssistant插件创建SpringCloud项目
2021/06/23 Java/Android
Android Rxjava3 使用场景详解
2022/04/07 Java/Android