ホームページ > 記事 > ウェブフロントエンド > JavaScriptで正規表現を使用してパスワード強度判定を実装する例
この記事では、正規表現を使って簡単なパスワード強度判定を実装するための関連情報を中心に紹介します。実装後の効果は非常に簡単ですが、詳細なサンプルコードも記事に記載されています。参照や勉強のためにそれを必要とする友人は、以下を参照してください。
実装された機能:
1. 入力文字が6文字未満または16文字を超える場合、プロンプトが表示され、強さは表示されません。 ; 0 の場合、ヒントも表示されます。 2. パスワードが 6 ~ 16 文字の場合、パスワードが数字の組み合わせの場合は表示が弱くなります。文字と文字の場合、表示は強力です。 英数字と下線が付いている場合、効果は次のとおりです。
コードは次のとおりです:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> .mm-body{ position: relative; height: 100px; width: 450px; background-color: wheat; } .mm-top{ height:35px; width: 450px; background-color: wheat; } .mm-sr{ height:30px; width: 100px; float: left; text-align: center; line-height: 30px; } #mm-pwd{ float: left; height:25px; background-color: ghostwhite; border-radius: 5px; width: 150px; } .mm-btm{ height: 40px; width: 140px; position: relative; margin-left: 110px; } #lv1,#lv2,#lv3{ height: 30px; width: 40px; border-top: 4px solid gainsboro; margin-left: 3px; float: left; font-size: 18px; text-align: center; line-height: 25px; } </style> </head> <body> <p class="mm-body"> <p class="mm-top"> <span class="mm-sr">请输入密码:</span> <form method="get" action="data.html" > <input type="password" id="mm-pwd" onkeyup="show()"/> </form> <span id="mm-pd"style="color: red; font-size: 12px; line-height: 30px;"></span> </p> <p class="mm-btm"> <p id="lv1">弱</p> <p id="lv2">中</p> <p id="lv3">强</p> <!--强度判断也可用表格做 <table border="0px" cellpadding="0px" cellspacing="1px" > <tr height="20px" > <td width="40px" id="lv1" style="border-top: 3px solid darkgrey;">弱</td> <td width="40px" id="lv2" style="border-top: 3px solid darkgrey;">中</td> <td width="40px" id="lv3" style="border-top: 3px solid darkgrey;">强</td> </tr> </table>--> </p> </p> </body> </html> <script language="JavaScript"> function show(){ var a=document.getElementById("mm-pwd").value; if(a.length==0){ document.getElementById("mm-pd").innerHTML="密码不能为空!"; } else if(a.length<6){ document.getElementById("mm-pd").innerHTML="密码长度小于6个字符!"; } else if(a.length>=6&&a.length<=16){ document.getElementById("mm-pd").innerHTML=""; var reg=/^[0-9]{6,16}$|^[a-zA-Z]{6,16}$/; //全是数字或全是字母 6-16个字符 var reg1=/^[A-Za-z0-9]{6,16}$/; //数字、26个英文字母 6-16个字符 var reg2=/^\w{6,16}$/; // 由数字、26个英文字母或者下划线组成的字符串 6-16个字符 if(a.match(reg)){ document.getElementById("lv1").style.borderTopColor="red"; } else if(a.match(reg1)){ document.getElementById("lv1").style.borderTopColor="red"; document.getElementById("lv2").style.borderTopColor="yellow"; } else if(a.match(reg2)){ document.getElementById("lv1").style.borderTopColor="red"; document.getElementById("lv2").style.borderTopColor="yellow"; document.getElementById("lv3").style.borderTopColor="green"; } } else if(a.length>16){ document.getElementById("mm-pd").innerHTML="密码长度大于16个字符!"; document.getElementById("lv1").style.borderTopColor="gainsboro"; document.getElementById("lv2").style.borderTopColor="gainsboro"; document.getElementById("lv3").style.borderTopColor="gainsboro"; } } </script>概要
以上がJavaScriptで正規表現を使用してパスワード強度判定を実装する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。