这可能是一件非常简单的事情,但我一生都无法弄清楚或找到任何类似问题的东西。我对 Javascript 还很陌生,我正在对 HTML 字段进行一些简单的表单验证。手头的两个问题是:
if(minSquare.search(intCheck) == -1 || minSquare < 500 || minSquare > 5000 || minSquare > maxSquare)
{
errorPrint.innerHTML += "Incorrect minimum square feet amount <br />";
errors++;
}
if(maxSquare.search(intCheck) == -1 || maxSquare > 5000 || maxSquare < 500)
{
errorPrint.innerHTML += "Incorrect maximum square feet amount <br />";
errors++;
}
minSquare/maxSquare 是取自 HTML 字段的值。如您所见,平方英尺值(在房地产设置中)应该在 500-5000 之间,并且必须是整数。逻辑是存在的,但是每次我提交表单时,如果值低于 1,000,尽管下限为 500,则会打印不正确的最小平方英尺的错误。对于另一对字段,如果值为低于 100,000,尽管它自己的下限为 30,000,但它不会打印。
出于某种原因,当我输入 500 作为最低金额和 5000 作为最高金额(适当的范围)时,它不会提交任何问题。但是,如果我输入 501 和 5000,它将引发最小值错误。我不知道为什么会这样。我不认为这是浏览器问题。在 Chrome 和 Firefox 上都试过了,同样的问题。任何帮助表示赞赏;问题越愚蠢,我越快解决这个问题 =)
编辑:修复了问题。知道这很简单。根据下面的建议,我只需要解析输入,然后我需要摆脱 RegExp 搜索方法,该方法仅在被搜索的变量是字符串时才有效。感谢那些回答的人。