パスワードが次の条件を満たしていることを確認する必要があります:
1. 少なくとも 1 つの大文字
3. 少なくとも 1 つの小文字。 1 つの数字
5. なし 2、3、4 点を除くその他の特殊文字、つまり文字と数字のみ このタイプの検証問題では、間違いなく正規表現が第一の選択肢になりますが、正規表現を使用しない場合は、 、検証ロジックを書くことも可能です。
この問題については、2 つのテストに分割します。
最初の点に従って、長さのテストを確立します。
var lengthValid = function(pass){ return pass.length >= 6; };
ポイント 2、3、4、5 に基づいてコンテンツ検出関数を作成します。
ロジックは次のとおりです: パスワード文字列内の大文字、小文字、および数字の数をカウントします。特殊な記号が見つかった場合は、直接 false が返されます。var contentValid = function(pass){ var lowerNum = 0; var upperNum = 0; var numNum = 0; for(var i=0;i<pass.length;i++){ var code = pass.charCodeAt(i); if(code >= 48 && code <= 57){ numNum++; } else if(code >= 65 && code <= 90){ upperNum++; } else if(code >= 97 && code <= 122){ lowerNum++; } else{ return false; } } return lowerNum && upperNum && numNum; };
function validate(password) { return lengthValid(password) && contentValid(password); }