Слава Україні!

Цифровой ввод

Ограничение на ввод в поле только цифрами jQuery
Способы ниже только фильтруют ввод с клавиатуры. Они не сработают, если пользователь будет вводить данные с помощью мышки (через контекстное меню). Поэтому Вам может понадобиться более продвинутый способ отсеивания, который будет срабатывать каждый раз при изменении текста. В jQuery есть событие `.change` для отслеживания изменений текстового поля. К сожалению, оно срабатывает только тогда, когда поле теряет фокус. Также есть событие `.input`, но оно не работает в IE ниже 9-й версии, а в самой девятке немного глючит. Тем не менее, если поставить фильтрацию на все необходимые события, то можно добиться вполне нормального результата с помощью короткого кода:

    <script>
        $('#txtbox').bind("change keyup input click", function() {
            if (this.value.match(/[^0-9]/g)) {
                this.value = this.value.replace(/[^0-9]/g, '');
            }
        });
    </script>
Еще один вариант

    <script>
        $(function(){
            $('.number_dots').on('input', function(){
                this.value = this.value.replace(/^\.|[^\d\.]|\.(?=.*\.)|^0+(?=\d)/g, '');
            });
        });
    </script>
Вариант с фильтрацией по коду нажатой клавиши

    <script>
        $(document).ready(function() {
            $("#txtboxToFilter").keydown(function(event) {
                // Разрешаем нажатие клавиш backspace, del, tab и esc
                if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 ||
                // Разрешаем выделение: Ctrl+A
                (event.keyCode == 65 && event.ctrlKey === true) ||
                // Разрешаем клавиши навигации: home, end, left, right
                (event.keyCode >= 35 && event.keyCode <= 39)) {
                    return;
                } else {
                // Запрещаем всё, кроме клавиш цифр на основной клавиатуре, а также Num-клавиатуре
                    if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
                        event.preventDefault();
                    }
                }
            });
        });
    </script>
В данном примере ввода только цифр используются не только коды цифр из основной клавиатуры, но и цифры на дополнительной, так называемой NUM-клавиатуры.
Предыдущая заметка Динамическое добавление полей
Следующая заметка Шпаргалка по GIT

Важлива інформація

Міністерство оборони
України
з 24.02 по 17.07
втрати противника
орієнтовно склали:
562510 ( +1110 ) особового складу
8238 ( +11 ) танків
15871 ( +9 ) бойових бронемашин
15411 ( +43 ) артилерійських систем
1120 ( +1 ) РСЗВ
893 ( +1 ) засоби ППО
361 ( +0 ) літаків
326 ( +0 ) гелікоптерів
20741 ( +61 ) автомобільної техніки
28 ( +0 ) кораблі / катери
2398 ( +0 ) крилаті ракети
12224 ( +31 ) БПЛА
2586 ( +9 ) спец. техніки
4 ( +0 ) установок ОТРК/ТРК
1 ( +0 ) war.submarines

Поиск