展示する デザインパスワード強度分析 パスワードは数字、文字、特殊記号で構成されています
コードバージョン 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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linuxの運用・保守の基礎知識から上級者向け知識までをまとめました
>>: Windows システム mysql5.7.18 インストール グラフィック チュートリアル
目次序文1. イントラネットDNS AレコードとMXレコードを構成する2. メールサーバの初期化設定...
1. 呼び出しを実装するステップ:関数をオブジェクトのプロパティとして設定します。これを関数に割り当...
1つ。 wget https://dev.mysql.com/get/mysql57-communi...
目次コンセプト配列の分割値を個別に宣言して割り当てるデフォルト値の構造化解除変数値の交換関数によって...
目次MVCとMVVMの違い前述のMVCC の概要長所と短所MVVM概要MVVM 実装者 — Vue ...
この記事では、jsネイティブウォーターフォールフロープラグインの具体的なコードを参考までに共有します...
前書き: MySQL でテーブルを設計する場合、MySQL では UUID や非連続かつ非繰り返しの...
注: nginxはbrew経由でインストールされますウェブサイトのルートディレクトリ: /opt/h...
目次1. Dockerをインストールする2. ソナーイメージをインストールする3. ソナーを使ってコ...
JavaScript ネイティブ コードの記述能力を高め、setTimeout() の使用を強化する...
サーバーでは、データベースにすばやくログインするために、通常は mysql -hhost -uuse...
手順: 1. MySQLデータベースをインストールする1. MySQL-5.6.17-winx64....
1. MySQL jdbc ドライバー (mysql-connector-java-5.1.28.j...
この記事では、参考のために、WeChatアプレットのチャットルームを実装するための具体的なコードを例...
123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...