文本框必须包含javascript上的数字或字母验证而不使用正则表达式

时间:2014-01-14 15:11:56

标签: javascript validation

大家好我在这里遇到问题,我怎么能验证一个必须包含至少一个数字字符的密码框。我不允许使用正则表达式/正则表达式。我试过通过网络搜索,但解决方案始终以正则表达式结束。

这是我尝试的代码

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;
    }
}
}

我尝试过这种方式,但我失败了,你能帮助我吗?

之前谢谢

1 个答案:

答案 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,因为它效率低下:唯一需要的是范围检查。