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 インストール グラフィック チュートリアル

推薦する

nginx が複数のプロキシ層を通過して実際の送信元 IP を取得するプロセスの詳細な説明

質問Nginx は $remote_addr を実際の IP アドレスとして受け取りますが、実際には...

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

データベースを削除せずにMySQLのすべてのテーブルを素早く削除する方法

この記事では、例を使用して、データベースを削除せずに MySQL 内のすべてのテーブルをすばやく削除...

MySQL 学習: データベース テーブルの 5 つの主要な制約を初心者向けに詳しく説明します

目次1. 制約の概念と分類2. 5つの制約の追加と削除2.1 制約を追加する6つの方法2.2 制約を...

MySQLの起動と接続方法の例分析

目次mysqldの起動方法方法 1: mysqld方法 2: mysqld_safe方法3: mys...

MySQL ステートメントの概要

目次1. データベースの使用を選択2. 情報を表示する3. テーブルを作成する4. データを挿入する...

Mysql 8.0 のインストールとパスワードのリセットの問題

Mysql 8.0 のインストールの問題とパスワードのリセット1: MySqlをダウンロードする公式...

MySQL InnoDB の重要なコンポーネントの概要

Innodbには以下のコンポーネントが含まれています1. innodb_buffer_pool:これ...

Docker コンテナの uid と gid の詳細な理解

デフォルトでは、コンテナ内のプロセスは root ユーザー権限で実行され、この root ユーザーは...

チェックボックスの選択またはキャンセルを実装するJavaScript

この記事では、すべてのチェックボックスを選択または解除するためのJavaScriptの具体的なコード...

CentOS 7.5 に Docker をインストールする詳細なチュートリアル

Docker入門Docker は、アプリケーションをより速く配信するのに役立つオープンソースのコンテ...

MySQLデータの挿入、更新、削除の詳細

目次1. 挿入2. 更新3. 削除1. 挿入 顧客に挿入( 顧客.顧客住所、 顧客.cust_cit...

言及すべき8つのMySQLの落とし穴を共有する

MySQL はインストールが簡単で、高速で、豊富な機能を備えています。これはオープンソース運動のベン...

MySQLの基本操作を詳しく解説(第2部)

序文この記事には1. データベースのいくつかの主要な制約2. テーブル間の関係制約:主キー制約: 機...