私のページに8文字以上の長さのパスワードを取得しようとしましたが、数字と文字が含まれていますが動作していません。パスワードが有効になると、ユーザーは成功ページに移動します。パスワードの検証は機能しません。JavaScriptは動作しません。
CODE:
<script>
$(document).ready(function() {
$("#submit").click(function() {
var name = document.getElementById("name").value;
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
var confirm = document.getElementById("confirm").value;
var valid = password.length >= 8 // at least 8 characters
&& /[a-z]/.test(password) // contains a lowercase letter
&& /\d/.test(password) // contains a digit
var dataString = 'name=' + name + '&email=' + email + '&password=' + password;
console.log(dataString);
if (name == '' || email == '' || password == '') {
alert("Fill in empty fields");
}
if (password != confirm) {
alert("Passwords do not match.");
} else if (password == confirm && password != valid) {
alert("Password not valid.");
} else if(password == '' && confirm == '' && password == confirm) {
alert("password can't be empty");
} else {
alert("matched");
window.location="newpage.html"
}
return false;
});
});
</script>
私を助けてください:(
何が問題なのですか?どのセクションが失敗していますか? – ste2425
@ ste2425パスワードif文は、「password1」と入力したときに「password not valid」と表示され続けています。パスワードを確認する良い方法は8文字以上あり、数字と文字が1つありますか? – MechroMancer
あなたの文に論理エラーがあります:compare 'password!= valid'ここで、passwordはあなたの文字列で、validはブール値です。おそらく 'password == confirm &&!valid'をチェックするべきでしょうか? – chazsolo