-1
我在製作登錄表單。在提交之前,我檢查是否填寫了所有字段。我還檢查密碼是否超過7個字符,並且至少包含一個數字,至少包含一個字符,並且沒有空格。我現在的代碼不斷告訴我,無論我輸入什麼,我都會錯過一個角色。這是代碼:爲什麼我的代碼無法識別密碼包含字符?
if($("#password").val()==""){
error += "The password is required.<br>";
}
else if($("#password").val().length<8){
error += "Your password needs at least 8 characters.<br>";
}
else if($("#password").val().length >= 8){
var pass = $("#password").val().split("");
var hasNum = false;
var hasChar = false;
var hasSpace = false;
for(var i = 0; i < pass.length; i++){
if(pass[i] == " "){
hasSpace = true;
}
else if(Number(pass[i]) == NaN){
hasChar = true;
}
else if(Number(pass[i]) != NaN){
hasNum = true;
}
}
if(!hasChar){
error += "Your password must contain at least one character.<br>";
}
if(!hasNum){
error += "Your password must contain at least one number.<br>";
}
if(hasSpace){
error += "Spaces are not allowed in a password.<br>";
}
}
我首先檢查一個空間。然後我檢查一個字符是否可以轉換爲數字。如果不是,那麼它必須是一個字符串。如果它可以轉換,它必須是一個數字。無論我輸入什麼內容,它都會顯示「您的密碼必須至少包含一個字符」。我怎樣才能解決這個問題?如果有必要,我會給你更多的代碼。