检查用户输入的个别值是否为数字

时间:2011-12-13 01:35:42

标签: jquery

我知道如何检查字段的值是否为数字,并且我知道如何在keyup上触发事件。我不知道该怎么做检查用户的每个单独的条目(keyup)是否是一个数字。我对它的代表性不感兴趣。只要输入的值是0-9。

如果你想填补空白,我做了一个基本的小提琴。

http://jsfiddle.net/dan_vitch/M7dFy/

5 个答案:

答案 0 :(得分:2)

$('#testInput').on('keyup', function (e) {

    if (e.keyCode >= 48 && e.keyCode <=57) {
        alert('That is a number');
    }
    else{ 
        alert('That is not a number');
    }
});

http://jsfiddle.net/M7dFy/2/

如果您不想使用event对象,也可以执行此操作(不推荐):

$('#testInput').on('keyup', function (e) {

    var lastChar = $(this).val().charAt($(this).val().length-1);

    if (!isNaN(parseInt(lastChar))) {
        alert('That is a number');
    }
    else{ 
        alert('That is not a number');
    }
});

http://jsfiddle.net/M7dFy/7/

答案 1 :(得分:1)

希望这对您有用:http://jsfiddle.net/Skooljester/M7dFy/5/


$('#testInput').on('keyup', function (e) {  
    var testNum = $.isNumeric($(this).val());    
    if (testNum == true) {
        alert('That is a number');
    }
    else{ 
        alert('That is not a number');
    }
});

答案 2 :(得分:0)

怎么回事这样? http://jsfiddle.net/nUBZk/

$('#testInput').on('keyup', function (e) {

    if (Number(String.fromCharCode(e.which))) {
        console.log('That is a number');
    }
    else{ 
        console.log('That is not a number');
    }
});

如果输入的字符可转换为数字,则返回true,否则返回NaN。

答案 3 :(得分:0)

你可以使用javascript函数isNaN()如果它不是一个数字则返回true

所以给你这样的if语句:

$('#testInput').on('keyup', function (e) {

    if (! isNaN($('#testInput').val())) {
        alert('That is a number');
    }
    else{
        alert('That is not a number');
    }
});

答案 4 :(得分:0)

使用正则表达式检查字符串是否包含所有数字字符的解决方案:http://jsfiddle.net/M7dFy/13/

$('#testInput').keyup(function() {

    var message = (this.value.match(/^[0-9]+$/)) ? "I'm a number!": "I am not a number";   

    console.log(message);

});
相关问题