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中的undefined 与 null 的区别  补充篇
Mar 17 Javascript
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 Javascript
用js实现输入提示(自动完成)的实例代码
Jun 14 Javascript
js获取select默认选中的Option并不是当前选中值
May 07 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
Jun 05 Javascript
轻松掌握JavaScript策略模式
Aug 25 Javascript
理解javascript中的闭包
Jan 11 Javascript
详解使用vue实现tab 切换操作
Jul 03 Javascript
详解webpack的配置文件entry与output
Aug 21 Javascript
angular4笔记系列之内置指令小结
Nov 09 Javascript
js异步接口并发数量控制的方法示例
Nov 22 Javascript
html中两种获取标签内的值的方法
Jun 16 jQuery
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实现搜索相似图片
2015/09/22 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
编写兼容IE和FireFox的脚本
2009/05/18 Javascript
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
jQuery ajax的功能实现方法详解
2017/01/06 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
ES6学习教程之对象字面量详解
2017/10/09 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
分析python服务器拒绝服务攻击代码
2014/01/16 Python
python提示No module named images的解决方法
2014/09/29 Python
python类装饰器用法实例
2015/06/04 Python
Python金融数据可视化汇总
2017/11/17 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Python实现Event回调机制的方法
2019/02/13 Python
Python TestCase中的断言方法介绍
2019/05/02 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
智能电子秤、手表和健康监测仪:Withings(之前为诺基亚健康)
2018/10/30 全球购物
应届毕业生求职信范文分享
2013/12/26 职场文书
学生自我评价范文
2014/02/02 职场文书
青蓝工程实施方案
2014/03/27 职场文书
中等生评语大全
2014/05/04 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL