大家好我在这里遇到问题,我怎么能验证一个必须包含至少一个数字字符的密码框。我不允许使用正则表达式/正则表达式。我试过通过网络搜索,但解决方案始终以正则表达式结束。
这是我尝试的代码
function validateIn()
{
var pass=document.getElementById('password').value;
for(var i=0;i<pass.length;i++)
{
if(isNaN(pass.charAt(i))==false)
{
return true;
break;
}
else
{
return false;
}
}
}
我尝试过这种方式,但我失败了,你能帮助我吗?
之前谢谢答案 0 :(得分:1)
一种可能的方法:
function validateIn() {
var pass = document.getElementById('password').value,
p = pass.length,
ch = '';
while (p--) {
ch = pass.charAt(p);
if (ch >= '0' && ch <= '9') {
return true; // we have found a digit here
}
}
return false; // the loop is done, yet we didn't find any digit
}
关键是,在找到普通字符后你不必立即return
(因为你基本上只需要一个数字) - 你只需要继续检查。
请注意,我没有isNaN
,因为它效率低下:唯一需要的是范围检查。