|
Как запретить ввод текста в input
Задача такая: Нужно запретить ввод любых символов кроме цыфр в поле ввода. Подскажите решение :help:
|
Нашел ответ:
<script> function checkCurr(d) { if(window.event) { if(event.keyCode == 37 || event.keyCode == 39) return; } d.value = d.value.replace(/\D/g,''); } </script> <input type="text" onkeyup="checkCurr(this)"> может кому пригодится :victory: |
Такое решение вызывает перерисовку поля ввода, что кажется не очень эстетично. Как заблокировать ввод символов???
|
в html5 у полей появился новый атрибут - pattern, значением которого является рега на JS.
введите НЕчисла и нажмите отправить. <form> <input pattern="\d+" maxlength="14"> <input type="submit" value="Отправить" name="numbers" title="Просто числа"> </form> |
есть много готовых решений на javascript
в поисковике поищите что-то вроде 'mask input jquery' |
melky, как-то мне не нравится такая реализация. Было бы намного прикольнее, если бы оно не позволяло вводить ничего, кроме чисел...
Но вообще - круто, конечно) |
я обычно делаю так, очень простой вариант.
код js function proverka(input) { input.value = input.value.replace(/[^\d]/g, ''); }; пример использования <input type="text" name="summa" value="" size="40" onkeyup="return proverka(this);" onchange="return proverka(this);"> |
/[^\d]/маргинально) |
Цитата:
<input id="d-only"> <script> document.getElementById("d-only").onkeypress= function(event){ event= event || window.event; if (event.charCode && (event.charCode < 48 || event.charCode > 57))// проверка на event.charCode - чтобы пользователь мог нажать backspace, enter, стрелочку назад... return false; }; </script> P. S. Кстати, зачем у вас в атрибуте стоит return, если ф-ция proverka (кстати, пишите всё-таки check) ничего не возвращает? |
мне мой вариант устраивает.но спорить не буду, возможно ваш вариант работает быстрее и лучше. Возьму на заметку.
про return согласен, это рудимент от каких-то испытаний остался=) про check промолчу, дело каждого. будь моя воля я бы вообще всё на чистом русском писал. непонимаю, на самом деле таких гонений родного языка. хотя зависит от проекта. для себя пишу proverka, для крупных написал бы CheckDigit или что-то в этом духе. |
Часовой пояс GMT +3, время: 16:02. |
|