В input разрешить ввод только чисел через jQuery

Довольно часто в input-полях требуется маски по вводу только цифр, букв или определенных символов. Данная функция обычно называется маской ввода для input-а или фильтром.

В сети можно встретить специализированные скрипты, например, для ввода цифр по заданному формату. А как быть с обычными input-полями, в которых нужно разрешить ввод только цифр, букв или запретить ввод только определенных символов? Рассмотри живой пример-решение данной проблемы.

Скрипт, позволяющий ввести только цифры в input:

$(document).ready(function() {
$('[name=quantity]').bind("change keyup input click", function() {
if (this.value.match(/[^0-9]/g)) {
this.value = this.value.replace(/[^0-9]/g, '');
}
});
});

Данный код позволяет вводить только цифры от 0 до 9 на элементе input с name равным quantity, на что указывают строки выделенные красным. Вы можете применять свои фильтры, меняя только то, что выделено красным.

Примеры:

0-9\. - разрешает цифры с точкой

а-яА-Я\s - разрешает ввод только русских букв с пробелом

а-яА-Яa-zA-Z\s - разрешает ввод только русских и английских букв с пробелом

Думаю, данный легкий скрипт будет очень полезен начинающим программистам. Если вы хотите более сложные конструкции формата ввода, то советую изучать регулярные выражения.

В input разрешить ввод только чисел через jQuery: 3 комментария

  1. Добрый день. Небольшая путаница у Вас со скобками.

    $(document).ready(function() {
    $('[name=quantity]').bind("change keyup input click", function() {
    if (this.value.match(/[^0-9]/g)) {
    this.value = this.value.replace(/[^0-9]/g, '');
    }
    })
    });

Добавить комментарий для Виктор Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *


Введите капчу: