Как разрешить только числовые (0-9) в поле ввода HTML, используя jQuery? - PullRequest
850 голосов
/ 15 июня 2009

Я создаю веб-страницу, где у меня есть поле ввода текста, в котором я хочу разрешить только числовые символы, такие как (0,1,2,3,4,5 ... 9) 0-9.

Как я могу сделать это с помощью jQuery?

Ответы [ 63 ]

0 голосов
/ 25 января 2011
jQuery("#no_of").keypress(function(event){
    //Allow only backspace and delete
    if (event.keyCode != 46 && event.keyCode != 8) {
        if (!parseInt(String.fromCharCode(event.which))) {
            event.preventDefault();
        }
    }
});

jQuery("#no_of").keyup(function(e){
    var temp_s= jQuery("#no_of").val();
    var multiply_val= temp_s*10;
    jQuery("#ex-r").html(multiply_val);
});
0 голосов
/ 18 декабря 2018

Ни один из ответов не работал в моем случае, поэтому я немного изменил принятый ответ, чтобы он работал для Динамически добавленных элементов.

Наслаждайтесь:

var inputFilter = function (elem, cb) {
    /*
    *    /^-?\d*$/               restricts input to integer numbers
    *    /^\d*$/                 restricts input to unsigned integer numbers
    *    /^[0-9a-f]*$/i          restricts input to hexadecimal numbers
    *    /^-?\d*[.,]?\d*$/       restricts input to floating point numbers (allowing both . and , as decimal separator)
    *    /^-?\d*[.,]?\d{0,2}$/   restricts input to currency values (i.e. at most two decimal places)
    */
    bdy.on('input keydown keyup mousedown mouseup select contextmenu drop', elem, function () {
        if (cb(this.value)) {
            this.oldValue = this.value;
            this.oldSelectionStart = this.selectionStart;
            this.oldSelectionEnd = this.selectionEnd;
        } else if (this.hasOwnProperty('oldValue')) {
            this.value = this.oldValue;
            this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
        }
    });
};

Использование:

inputFilter('#onlyDigitsInput', function (val) {
    return /^\d*$/.test(val);
});
0 голосов
/ 30 июля 2012

Используйте числовое значение jquery. Функция ниже допускает десятичные и числовые значения.
Пример: $ ("# inputId"). numeric ({allow: "."});

...