繁体   English   中英

文本框必须在没有正则表达式的javascript上包含数字或字母验证

[英]textbox must contain number or letter validation on javascript without regex

嗨,大家好,我在这里遇到了一个问题,我该如何验证必须至少包含一个数字字符的密码框。 我不允许使用正则表达式/正则表达式。 我曾尝试在网上搜索,但解决方案始终以正则表达式结尾。

这是我尝试的代码

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

我已经尝试过了,但是我失败了,你能帮我吗? 之前感谢

一种可能的方法:

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 ,因为它效率不高:唯一需要做的就是范围检查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM