ホームページ  >  記事  >  ウェブフロントエンド  >  少なくとも文字、大文字と小文字の数字、およびcharacters_javascriptスキルを含むパスワードレベルをJSで実装するための2つの方法

少なくとも文字、大文字と小文字の数字、およびcharacters_javascriptスキルを含むパスワードレベルをJSで実装するための2つの方法

WBOY
WBOYオリジナル
2016-05-16 16:16:141829ブラウズ

この記事の例では、JS を使用して、少なくとも文字、大文字と小文字の数字、文字を含むパスワード レベルを実装する 2 つの方法について説明します。皆さんの参考に共有してください。詳細は以下の通りです。

はしがき

パスワードの設定が単純すぎると簡単に破られる可能性があるため、多くの Web サイトではパスワードに非常に厳格な要件を設定しており、通常は文字、数字、文字の 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" //再次填写密码需一致
 }
 }
});

パスワードの生成と強度検出に興味がある友人は、オンライン ツールを参照することもできます:

パスワードセキュリティのオンライン検出

強力なパスワードジェネレーター

ショートリンク(短縮URL)オンライン生成ツール

この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。