パスワード リセット フォームで、2 つのパスワード入力 (password & password2) を検証して、それらが正規表現と一致し、特定の長さであり、互いに一致することを確認しています。問題があると、問題のある入力が強調表示され、エラー メッセージが表示されます。
両方の入力を正規表現と長さでチェックするために、「each」関数を使用していますが、機能しません。実際、そこにある場合、checkform()関数全体が実行されていないようです(アラートボックスでテストしました-アラートが表示する各関数を削除すると、そこにある場合は実行されません)。
スクリプトは次のとおりです。
function checkform(){
alert("function running");
regex=/^[a-zA-Z0-9_]+$/;
//This each function stops checkform() from running //
$("#password, #password2").each(function() {
if($(this).val().length>5){
$(this).css('border', '');
} else {
$(this).css('border', '1px solid red');
$("#errormsg").html("Oops! Please enter a valid password");
return false;
}
}
//End of problem code
if($("#password").val() != $("#password2").val()){
$("#password").css('border', '1px solid red');
$("#password").css('border', '1px solid red');
$("#errormsg").html("Oops! Your passwords don't match");
return false;
} else {
$("#errormsg").empty();
}
return true;
}
誰が問題が何であるかを見ることができますか?
ありがとう