源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JS实现至少包含字母、大小写数字、字符的密码等级的两种方法

  • 时间:2021-04-04 08:19 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
本文实例讲述了JS实现至少包含字母、大小写数字、字符的密码等级的两种方法。分享给大家供大家参考。具体如下: [b]前言[/b] 密码,如果设置的太简单,很容易就被攻破,所以很多网站将密码设置的要求设置的挺严格,一般是字母、数字、字符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;
 }
}
[b]使用[/b] 普通使用 使用语法: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" //再次填写密码需一致
 }
 }
});
[b]关于密码生成与强度检测感兴趣的朋友还可参考在线工具:[/b] [url=http://tools.jb51.net/password/my_password_safe]密码安全性在线检测[/url] [url=http://tools.jb51.net/password/CreateStrongPassword]高强度密码生成器[/url] [url=http://tools.jb51.net/password/dwzcreate]短链(短网址)在线生成工具[/url] 希望本文所述对大家的javascript程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部