Frameworks.suFrameworks.su Шпаргалка вебмастера

  • Главная
  • Framework Kohana
  • PHP
  • Javascript
  • CSS
  • Контакты
Главная / Javascript / Поле для ввода только цифр на jQuery

Поле для ввода только цифр на jQuery

06.07.2014 2 9113

Доброе время суток! В сегодняшней статье разберем как сделать фильтрацию в тектовом поле на jQuery.

Нам нужно запретить пользователю ввод в текстовое поле формы

<input type="text" class="num">

любых данных кроме цифр. Для этого воспользуемся библиотекой jQuery и функцией .keydown:

$(document).ready(function() {
    $("input.num").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();
            }  
        }
    });
});

В данном примере ввода только цифр используются цифры не только из основной основной клавиатуры, но и цифры из дополнительной, цифровой клавиатуры, так называемой NUM-клавиатуры.

Также нельзя забывать делать проверку ввода данных на стороне сервера:

<?php
/** Чтобы проверить на стороне сервера на наличие только цифр */
if(is_numeric($_POST['input'])) {
    // проверка пройдена
}

Скачать рабочий пример

Теги:
  • jQuery
  • Валидация
  • Пример

Комментарии

  1. Jane
    Jane
    11.01.2018 11:32

    Такой вариант позволяет вводить ещё и спецсимволы :( через shift+num, а это ломает весь сценарий ;-(

    Ответить
    • Z
      Z
      15.05.2018 13:01

      $('.oform input').on('input', function () {
      if (this.value != this.value.replace(/[^0-9\.]/g, '')) {
      this.value = this.value.replace(/[^0-9\.]/g, '');
      }
      return false;
      });

      Ответить

    Оставить комментарий Отмена

    *

    *

    *

    *

    Категории

    • PHP
      • Framework Kohana
    • Javascript
    • CSS
    • Администрирование

    Теги

    Framework Kohana Пример jQuery Уроки CRON Установка и настройка Backup CSS3 Валидация API Bash Cache Captcha i18n Linux

    Авторизация

    • Забыли пароль?
    • Регистрация

    Популярные статьи

    • Находим расстояние до ближайших станций метро

      Находим расстояние до ближайших станций метро

      17.02.2017 100168
    • Регистрация и авторизация пользователей. Модуль Auth в Kohana 3.3.x

      Регистрация и авторизация пользователей. Модуль Auth в Kohana 3.3.x

      02.07.2014 40935
    • Собственная система лайков на PHP и JQuery

      Собственная система лайков на PHP и JQuery

      06.04.2015 29764
    • Javascript — сумма прописью

      Javascript — сумма прописью

      07.07.2014 20097
    • Cross-domain ajax с помощью jQuery

      Cross-domain ajax с помощью jQuery

      24.04.2015 17815
    Copyright © 2014-2023 Frameworks.su. Все права защищены.