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 ajax 登录验证实现代码
Sep 23 Javascript
Js event事件在IE、FF兼容性问题
Jan 01 Javascript
基于JQuery实现异步刷新的代码(转载)
Mar 29 Javascript
JS.getTextContent(element,preformatted)使用介绍
Sep 21 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
Dec 18 Javascript
jquery实现用户打分评分特效
May 28 Javascript
jquery原理以及学习技巧介绍
Nov 11 Javascript
react-native之ART绘图方法详解
Aug 08 Javascript
如何理解Vue的作用域插槽的实现原理
Aug 19 Javascript
vue获取DOM元素并设置属性的两种实现方法
Sep 30 Javascript
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 Javascript
详细分析vue响应式原理
Jun 22 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实现修改新闻时删除图片的方法
2015/05/12 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
JavaScript代码生成PDF文件的方法
2016/02/26 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
vue打包的时候自动将px转成rem的操作方法
2018/06/20 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
Python采集腾讯新闻实例
2014/07/10 Python
python开发中range()函数用法实例分析
2015/11/12 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
Sanic框架路由用法实例分析
2018/07/16 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
Python 控制终端输出文字的实例
2019/07/12 Python
python设计tcp数据包协议类的例子
2019/07/23 Python
Django stark组件使用及原理详解
2019/08/22 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
python通过移动端访问查看电脑界面
2020/01/06 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
WiFi云数码相框:Nixplay
2018/07/05 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
财会自我鉴定范文
2013/12/27 职场文书
实习老师离校感言
2014/02/03 职场文书
大学生先进事迹材料
2014/02/16 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python