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 源码分析笔记(7) Queue
Jun 19 Javascript
基于datagrid框架的查询
Apr 08 Javascript
js实现div的切换特效上一个下一个
Feb 11 Javascript
js实现tab切换效果实例
Sep 16 Javascript
angular2使用简单介绍
Mar 01 Javascript
js原生跨域_用script标签的简单实现
Sep 24 Javascript
JavaScript定义全局对象的方法示例
Jan 12 Javascript
ionic中列表项增加和删除的实现方法
Jan 22 Javascript
js实现多行文本框统计剩余字数功能
Mar 28 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
Jan 03 Javascript
Puppet的一些技巧
Sep 17 Javascript
Vue elementui字体图标显示问题解决方案
Aug 18 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+Mysql+jQuery实现动态展示信息
2011/10/08 PHP
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
2016/01/26 Javascript
JavaScript实现身份证验证代码
2016/02/17 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Python用for循环实现九九乘法表
2018/05/31 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
Python如何实现定时器功能
2020/05/28 Python
python怎么提高计算速度
2020/06/11 Python
Python下载的11种姿势(小结)
2020/11/18 Python
如何用python 操作zookeeper
2020/12/28 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
看上去很美观后感
2015/06/10 职场文书
埃及王子观后感
2015/06/16 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
详解MySQL事务的隔离级别与MVCC
2021/04/22 MySQL
不要在HTML中滥用div
2021/05/08 HTML / CSS