【发布时间】:2016-11-30 20:18:27
【问题描述】:
我正在制作一个登录表单。在提交之前,我会检查所有字段是否填写。我还会检查密码是否超过 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>";
}
}
我首先检查一个空格。然后我检查一个字符是否可以转换为数字。如果不是,那么它必须是一个字符串。如果它可以转换,它必须是一个数字。无论我输入什么,它总是说“您的密码必须包含至少一个字符”。我怎样才能解决这个问题?如果需要,我会给你更多代码。
【问题讨论】:
标签: javascript php jquery forms passwords