JQuery:将输入字符限制为0-9

时间:2014-05-18 11:00:04

标签: jquery validation

当用户按下某个键时,我想删除不在0-9范围内的字符,但此代码不起作用:(jsfiddle

$('input').on('keypress', function(event){
        var char = String.fromCharCode(event.which)
        var txt = $(this).val()
        if (!txt.match(/^[0-9]*$/)){
            var changeTo = txt.replace(char, '')
            $(this).val(changeTo).change();
        }
});

我做错了什么? 感谢

1 个答案:

答案 0 :(得分:1)

更新了小提琴:

http://jsfiddle.net/JXYbC/3/

$('input').on('keypress', function(event){
    if (event.keyCode < 48 || event.keyCode > 57)
        return false;
});

但是正如Mikk3lRo指出的那样,stackoverflow上已经有了更好的答案,因为你应该允许删除键,所以用户可以纠正输入:

How to allow only numeric (0-9) in HTML inputbox using jQuery?