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 相关文章推荐
LBS blog sql注射漏洞[All version]-官方已有补丁
Aug 26 Javascript
腾讯UED 漂亮的提示信息效果代码
Sep 12 Javascript
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 Javascript
用Javascript来生成ftp脚本的小例子
Jul 03 Javascript
javascript特殊用法示例介绍
Nov 29 Javascript
js全选实现和判断是否有复选框选中的方法
Feb 17 Javascript
详解JavaScript表单验证(E-mail 验证)
Mar 31 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
Oct 10 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
Sep 02 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 Javascript
8个非常实用的Vue自定义指令
Dec 15 Vue.js
vue实现按钮切换图片
Jan 20 Vue.js
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
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
JS继承--原型链继承和类式继承
2013/04/08 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
Vue仿今日头条实例详解
2018/02/06 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
微信小程序如何连接Java后台
2019/08/08 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
英国假睫毛购买网站:FalseEyelashes.co.uk
2018/05/23 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
大学生思想汇报范文
2013/12/31 职场文书
中层干部竞争上岗演讲稿
2014/01/13 职场文书
学校文明单位申报材料
2014/05/06 职场文书
企业党员一句话承诺
2014/05/30 职场文书
华山导游词
2015/02/03 职场文书
入党积极分子个人总结
2015/03/02 职场文书
作息时间调整通知
2015/04/22 职场文书
倡议书的格式写法
2015/04/28 职场文书
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python
asyncio异步编程之Task对象详解
2022/03/13 Python
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL