困惑Javascript整数比较错误

时间:2011-10-18 22:14:25

标签: javascript comparison integer int comparison-operators

这可能是一件非常简单的事情,但我不能为我的生活弄清楚或找到任何远程问题。我是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搜索方法,该方法仅在被搜索的变量是字符串时才有效。感谢那些回复的人。

0 个答案:

没有答案