Как заблокировать ввод специальных символов в поле ввода с помощью jquery?
jquery
special-characters
alphanumeric
Ботаник сталкер
источник
источник
Ответы:
Простой пример с использованием регулярного выражения, которое вы можете изменить, чтобы разрешить / запретить все, что вам нравится.
источник
Я искал ответ, который ограничивал ввод только буквенно-цифровыми символами, но по-прежнему позволял использовать управляющие символы (например, backspace, delete, tab) и copy + paste. Ни один из представленных ответов, которые я попробовал, не удовлетворял всем этим требованиям, поэтому я придумал следующее, используя
input
событие.Изменить:
как указал rinogo в комментариях, приведенный выше фрагмент кода переводит курсор в конец ввода при вводе в середине текста ввода. Я считаю, что приведенный ниже фрагмент кода решает эту проблему.
источник
event.which
илиevent.keycode
! Хотел бы я +10!Краткий ответ: предотвратить событие нажатия клавиши:
Длинный ответ: используйте плагин, например jquery.alphanum.
При выборе решения необходимо учитывать несколько моментов:
Я думаю, что эта область достаточно сложна, чтобы можно было использовать сторонний плагин. Я опробовал несколько доступных плагинов, но обнаружил некоторые проблемы с каждым из них, поэтому я пошел дальше и написал jquery.alphanum . Код выглядит так:
Или для более детального управления добавьте несколько настроек:
Надеюсь, поможет.
источник
allow
настройках. Но в этом прелесть плагинов jquery в том, что вы можете изменять их в соответствии со своими потребностями. Спасибо!allow
опции, и у меня это сработало, используя этот код:$('#firstName').alphanum({allow: "/"});
Есть ли шанс, что вы могли бы предоставить дополнительную информацию? Если есть ошибка или проблема с документами, было бы неплохо исправить это. CheersallowOtherCharSets: false
иallowCaseless: false
. Это мешало установленным настройкамallow
. С моей точки зрения, я считаю, что этотallow
вариант должен наложить вето на все другие варианты (например,allowOtherCharSets
илиallowCaseless
). Поэтому, если вы укажете символ вallow
параметре, он должен быть разрешен независимо от других параметров, установленных в объекте конфигурации. То же самое и сdisallow
. Но это только мое мнение. :) Ура снова! :)allow
иdisallow
иметь более высокий приоритет. Это проблема №7 . Надеюсь, это поможетИспользуйте атрибут ввода шаблона HTML5!
источник
Ваше текстовое поле:
Ваш javascript:
источник
Используйте регулярное выражение, чтобы разрешить / запретить что-либо. Кроме того, для немного более надежной версии, чем принятый ответ, разрешение символов, которые не имеют связанного с ними значения ключа (возврат, табуляция, клавиши со стрелками, удаление и т. Д.), Можно выполнить, сначала пройдя через событие нажатия клавиши и проверяйте ключ на основе кода ключа, а не значения.
источник
Взгляните на буквенно-цифровой плагин jQuery. https://github.com/KevinSheedy/jquery.alphanum
источник
Напишите код javascript в событии onkeypress текстового поля. в соответствии с требованиями разрешить и ограничить символ в текстовом поле
источник
Я использую этот код, изменяя другие, которые я видел. Только великая запись для пользователя, если нажатая клавиша или вставленный текст проходят проверку шаблона (совпадение) (этот пример представляет собой ввод текста, который допускает только 8 цифр)
источник
!e.charCode ? e.which : e.charCode
а не простоe.charCode ? e.charCode : e.which
?это пример, который запрещает пользователю вводить символ "а"
Ссылка на коды клавиш здесь:
http://www.expandinghead.net/keycode.html
источник
источник
Да, вы можете использовать jQuery как:
и скрипт для вашего user_availability.php будет:
Я пытался добавить для / и \, но безуспешно .
Вы также можете сделать это с помощью javascript, и код будет:
источник
только цифры:
или на время, включая ":"
также включая удаление и возврат:
к сожалению, он не работает на iMAC
источник
Хотел прокомментировать комментарий Алекса к ответу Дейла. Невозможно (сначала нужно сколько «репутации»? Это не произойдет очень скоро ... странная система.) Итак, в качестве ответа:
Backspace можно добавить, добавив \ b к определению регулярного выражения следующим образом: [a-zA-Z0-9 \ b]. Или вы просто разрешаете весь латинский диапазон, включая более или менее любые «неэкзотические» символы (также управляющие символы, такие как backspace): ^ [\ u0000- \ u024F \ u20AC] + $
Только настоящий unicode char, кроме латинского, есть знак евро (20ac), добавьте все, что вам может понадобиться.
Чтобы также обрабатывать ввод, введенный с помощью копирования и вставки, просто также привяжите к событию "изменение" и проверьте ввод там же - удалите его или разделите его / выдав сообщение об ошибке, например "неподдерживаемые символы" ..
источник
Ограничить использование специальных символов при нажатии клавиш. Вот тестовая страница для кодов клавиш: http://www.asquare.net/javascript/tests/KeyCode.html
В Angular мне нужен правильный формат валюты в текстовом поле. Мое решение:
В html добавьте директиву
и в соответствующем угловом контроллере я разрешаю использовать только 1 период, конвертирую текст в число и добавляю округление чисел на «размытие»
источник
Чтобы заменить специальные символы, пробел и преобразование в нижний регистр
источник
источник
Разрешить только числа в текстовом поле (ограничение алфавитов и специальных символов)
источник
источник