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 22 Javascript
jquery如何实现锚点链接之间的平滑滚动
Dec 02 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
Jun 05 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
Apr 12 Javascript
jQuery插件pagination实现分页特效
Apr 12 Javascript
jQuery实现连续动画效果实例分析
Oct 09 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
Sep 27 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
Jan 04 Javascript
Javascript的console['']常用输入方法汇总
Apr 26 Javascript
vue移动端微信授权登录插件封装的实例
Aug 28 Javascript
一些你可能不熟悉的JS知识点总结
Mar 15 Javascript
JavaScript回调函数callback用法解析
Jan 14 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 短链接算法收集与分析
2011/12/30 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
[01:01:42]Secret vs Optic Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python 使用类写装饰器的小技巧
2018/09/30 Python
Pycharm 2019 破解激活方法图文详解
2019/10/11 Python
python列表推导式入门学习解析
2019/12/02 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
如何开发安全的AJAX应用
2014/03/26 面试题
初中英语课后反思
2014/04/25 职场文书
单位授权委托书范本
2014/09/26 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
雷锋观后感
2015/06/10 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
python接口测试返回数据为字典取值方式
2022/02/12 Python
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL