这可能是一件非常简单的事情,但我不能为我的生活弄清楚或找到任何远程问题。我是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输入最大金额(适当范围)时,它将没有提交任何问题。但是,如果我输入say,501和5000,它将抛出最小值的错误。我不知道为什么会这样。我不认为这是一个浏览器问题;试过Chrome和Firefox,同样的问题。任何帮助赞赏;这个问题越愚蠢越快我关闭它=)
编辑:修正了问题。知道这很简单。根据下面的建议,我只需要解析输入,然后我需要摆脱RegExp搜索方法,该方法仅在被搜索的变量是字符串时才有效。感谢那些回复的人。