JavaScript 定期検証パスワード強度実装方法

JavaScript 定期検証パスワード強度実装方法

展示する

デザイン

パスワード強度分析

パスワードは数字、文字、特殊記号で構成されています

  • パスワード: 数字のみ - または文字のみ、または特殊記号のみ - レベル 1: 弱い
  • 2 対 2 の組み合わせ: 数字と文字、数字と特殊記号、文字と特殊記号 - レベル 2: 中級
  • 3つすべて: 数字、文字、特殊記号 - レベル3: 強い

コード

バージョン 1: 基本

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
  <メタ文字セット="UTF-8">
  <title>ドキュメント</title>
</head>
<スタイル タイプ="text/css">
  #dv{
    幅: 300ピクセル;
    高さ:200px;
    位置: 絶対;
    左:100px;
    上:100ピクセル;
  }
  .強さLv0 {
    高さ: 6px;
    幅: 120ピクセル;
    境界線: 1px 実線 #ccc;
    パディング: 2px;
  }

  .強さLv1 {
    背景: 赤;
    高さ: 6px;
    幅: 40px;
    境界線: 1px 実線 #ccc;
    パディング: 2px;
  }

  .強さLv2 {
    背景: オレンジ;
    高さ: 6px;
    幅: 80ピクセル;
    境界線: 1px 実線 #ccc;
    パディング: 2px;
  }

  .強さLv3 {
    背景: 緑;
    高さ: 6px;
    幅: 120ピクセル;
    境界線: 1px 実線 #ccc;
    パディング: 2px;
  }
</スタイル>
<本文>
<div id="dv">
  <label for="password">パスワード</label>
  <input type="text" id="パスワード" 最大長="16">
  <div>
    <b>パスワードの強度:</b>
    <em id="強さ"></em>
    <div id="強度レベ​​ル" class="強度Lv0"></div>
  </div>
</div>
<スクリプト>
  関数 my$(id) {
      document.getElementById(id) を返します。
  }

<スクリプト>


 //キーボードアップイベントを登録するためのテキストボックスを取得します。my$("password").onkeyup=function () {
   //キーボードが持ち上げられるたびに、テキスト ボックスの内容を取得し、テキスト ボックスの内容を確認してレベルを取得し、下の div に対応する色を表示します。//パスワードの長さが 6 未満の場合、判断する必要はありません if (this.value.length>=6) {
     var lvl = getLvl(this.value);
     if(レベル==1){
       //弱い my$("strengthLevel").className="strengthLv1";
     }そうでない場合(レベル==2){
       my$("strengthLevel").className="strengthLv2";
     }そうでない場合(レベル==3){
       my$("strengthLevel").className="strengthLv3";
     }それ以外{
       my$("strengthLevel").className="strengthLv0";
     }
   }それ以外{
     my$("strengthLevel").className="strengthLv0";
   }


 };

 //パスワードを教えていただければ、対応するレベルを返します。関数 getLvl(password) {
   var lvl=0;//デフォルトはレベル0です//パスワードに数字、文字、特殊記号が含まれているかどうか if(/[0-9]/.test(password)){
     レベル++;
   }
   // パスワードに文字が含まれているか確認する if(/[a-zA-Z]/.test(password)){
     レベル++;
   }
   // パスワードに特殊記号が含まれているかどうかを確認します if(/[^0-9a-zA-Z_]/.test(password)){
     レベル++;
   }
   戻り値 lvl;//1 3
 }

</スクリプト>
</本文>
</html>

上記のコードは少し冗長なので、アップグレードして書き直します

バージョン2: アップグレード

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
  <メタ文字セット="UTF-8">
  <title>ドキュメント</title>
</head>
<スタイル タイプ="text/css">
  #dv{
    幅: 300ピクセル;
    高さ:200px;
    位置: 絶対;
    左:100px;
    上:100ピクセル;
  }
  .強さLv0 {
    高さ: 6px;
    幅: 120ピクセル;
    境界線: 1px 実線 #ccc;
    パディング: 2px;
  }

  .強さLv1 {
    背景: 赤;
    高さ: 6px;
    幅: 40px;
    境界線: 1px 実線 #ccc;
    パディング: 2px;
  }

  .強さLv2 {
    背景: オレンジ;
    高さ: 6px;
    幅: 80ピクセル;
    境界線: 1px 実線 #ccc;
    パディング: 2px;
  }

  .強さLv3 {
    背景: 緑;
    高さ: 6px;
    幅: 120ピクセル;
    境界線: 1px 実線 #ccc;
    パディング: 2px;
  }
</スタイル>
<本文>
<div id="dv">
  <label for="password">パスワード</label>
  <input type="text" id="password" maxlength="16"><!--課外活動トピック-->
  <div>
    <b>パスワードの強度:</b>
    <em id="強さ"></em>
    <div id="強度レベ​​ル" class="強度Lv0"></div>
  </div>
</div>
<!-- <script src="common.js"></script> -->
<スクリプト>
  関数 my$(id) {
      document.getElementById(id) を返します。
  }
  //キーボードアップイベントを登録するためのテキストボックスを取得します。my$("password").onkeyup=function () {
    //キーボードが持ち上げられるたびに、テキスト ボックスの内容を取得し、テキスト ボックスの内容を確認してレベルを取得し、下の div に該当する色を表示します。my$("strengthLevel").className="strengthLv"+(this.value.length>=6?getLvl(this.value) :0);
  };

  //パスワードを教えていただければ、対応するレベルを返します。関数 getLvl(password) {
    var lvl=0;//デフォルトはレベル0です//パスワードに数字、文字、特殊記号が含まれているかどうか if(/[0-9]/.test(password)){
      レベル++;
    }
    // パスワードに文字が含まれているか確認する if(/[a-zA-Z]/.test(password)){
      レベル++;
    }
    // パスワードに特殊記号が含まれているかどうかを確認します if(/[^0-9a-zA-Z_]/.test(password)){
      レベル++;
    }
    return lvl; //最小値は1、最大値は3
  }


</スクリプト>
</本文>
</html>

JavaScript 正規パスワード検証の実装方法についてはこれで終わりです。JavaScript 正規パスワード強度に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JavaScript パスワード強度検出ユニバーサルプラグイン

<<:  Linuxの運用・保守の基礎知識から上級者向け知識までをまとめました

>>:  Windows システム mysql5.7.18 インストール グラフィック チュートリアル

推薦する

Centos7.9 で独立したメール サーバーを構築するための詳細な手順

目次序文1. イントラネットDNS AレコードとMXレコードを構成する2. メールサーバの初期化設定...

ネイティブ js で呼び出し、適用、バインドを実装する方法

1. 呼び出しを実装するステップ:関数をオブジェクトのプロパティとして設定します。これを関数に割り当...

JavaScript 構造化代入の詳細な説明

目次コンセプト配列の分割値を個別に宣言して割り当てるデフォルト値の構造化解除変数値の交換関数によって...

Web インタビュー: MVC と MVVM の違いと、Vue が MVVM に完全に準拠していない理由

目次MVCとMVVMの違い前述のMVCC の概要長所と短所MVVM概要MVVM 実装者 — Vue ...

jsネイティブウォーターフォールフロープラグイン制作

この記事では、jsネイティブウォーターフォールフロープラグインの具体的なコードを参考までに共有します...

MySQL が uuid または snowflake id を主キーとして使用することを推奨しない理由の詳細な分析

前書き: MySQL でテーブルを設計する場合、MySQL では UUID や非連続かつ非繰り返しの...

Mac M1 での Nginx のマルチサイト構成の実装

注: nginxはbrew経由でインストールされますウェブサイトのルートディレクトリ: /opt/h...

docker を使って sonarqube を構築する方法

目次1. Dockerをインストールする2. ソナーイメージをインストールする3. ソナーを使ってコ...

JavaScript は setTimeout を使用してカウントダウン効果を実現します

JavaScript ネイティブ コードの記述能力を高め、setTimeout() の使用を強化する...

MySQL パスワードに特殊文字が含まれている場合とコマンドラインからログインする場合

サーバーでは、データベースにすばやくログインするために、通常は mysql -hhost -uuse...

MySQL グリーン解凍バージョンのインストールと設定手順

手順: 1. MySQLデータベースをインストールする1. MySQL-5.6.17-winx64....

Jmeterはデータベースプロセスダイアグラムに接続します

1. MySQL jdbc ドライバー (mysql-connector-java-5.1.28.j...

WeChatアプレットがチャットルーム機能を実現

この記事では、参考のために、WeChatアプレットのチャットルームを実装するための具体的なコードを例...

マークアップ言語 - 簡略化されたタグ

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...