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 jQuery $.post $.ajax用法
Jul 09 Javascript
javascript jscroll模拟html元素滚动条
Dec 18 Javascript
Javascript中对象继承的实现小例
May 12 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
Jun 09 Javascript
node.js中使用socket.io制作命名空间
Dec 15 Javascript
js实现进度条的方法
Feb 13 Javascript
javascript模拟C#格式化字符串
Aug 26 Javascript
深入理解JavaScript 函数
Jun 06 Javascript
利用Javascript实现BMI计算器
Aug 16 Javascript
Vue.js学习教程之列表渲染详解
May 17 Javascript
Vue动态实现评分效果
May 24 Javascript
jQuery替换节点元素的操作方法
Mar 18 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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
PHPMailer安装方法及简单实例
2008/11/25 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
PHP中的多行字符串传递给JavaScript的两种方法
2014/06/19 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
Jquery 常用方法经典总结
2010/01/28 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
python爬取哈尔滨天气信息
2018/07/14 Python
分析经典Python开发工程师面试题
2019/04/08 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
高级方案规划工程师岗位职责
2013/11/29 职场文书
行政前台岗位职责
2013/12/04 职场文书
积极分子思想汇报
2014/01/04 职场文书
诚实守信演讲稿
2014/09/01 职场文书
初中开学典礼新闻稿
2015/07/17 职场文书
公司人事管理制度
2015/08/05 职场文书
体育教师教学随笔
2015/08/15 职场文书