0

如何使用 jQuery 只允许 0-999 范围内的数字?如果数字超出范围,它应该给出错误?我以一般方式尝试过,但它不起作用。代码如下。

function checkIsNumeric(value){
        if(isNaN(value) && (value>1000 || value<0)) {
            return 0;
        }

        return true;
    }
4

3 回答 3

2
function checkIsNumeric( value ){
    if ( isNaN( value ) || value > 999 || value < 0 ) {
        return 0;
    }

    return true;
}

或者:

function checkIsNumeric( value ){
    return ( isNaN( value ) || value > 999 || value < 0 )? 0 : true;
}
于 2013-06-06T18:23:14.053 回答
1

情侣问题。

value > 1000 不会捕获您不想要的 1000 值。将其更改为 >=。

因此,假设我们进行了上述更改并输入了 1000 的值。isNaN 将返回 false,这是我们所期望的。(value>=1000 || value<0) 将返回 true,这也是我们想要的。但是,由于您将这两者结合在一起,结果将是错误的(false && true == false),并且 if 语句将被忽略。

你想要的是更像这样的东西:

function checkIsNumeric( value ) {
    if( isNaN( value ) || value >= 1000 || value < 0 )
    {
        return false;
    }

    return true;
}
于 2013-06-06T18:36:48.363 回答
0
function checkIsNumeric(value){
    if(value > 0 && value < 1000){
        alert('Within range.')
        return;
    }
    alert('Enter value between 0-999.');
}

您还可以通过以下方式将参数转换为整数:

parseInt(value, 10);

或浮动:

parseFloat(value);
于 2013-06-06T18:28:28.507 回答