Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Запрет на ввод определенных символов в поле TEXT (https://javascript.ru/forum/xhtml-html-css/18771-zapret-na-vvod-opredelennykh-simvolov-v-pole-text.html)

vah-smile 14.07.2011 20:18

Запрет на ввод определенных символов в поле TEXT
 
Как запретить ввод определенных символов в поле TEXT?

ваый 14.07.2011 21:31

вешаем событие на keydown (keyup, keypress)
в обработчике смотрим, какая клавиша была нажата, если этот символ запрещен, возвращаем false. например:
$inp.keydown(function(e) {
    var k = e.keyCode;
    if (k < 65 || k > 90) {
        e.stopPropagation();
        return false;
    }
});

monolithed 23.07.2011 23:30

ваый, это решение не нестолько удачно на сколько могло бы быть.

<input id="input" value="" />

<script>
var INPUT = {
    chars : function(id, expr) {
        var array = ['input', 'propertychange', 'textinput', 'keyup', 'keydown', 'change'],
            i = array.length;

        while(i--) {
                id['on' + array[i]] = function() {
                     this.value =  this.value.replace(expr, '');
                 }; 
          }
    }
};
 
INPUT.chars(document.getElementById('input'), /[^\d]+/g);
</script>


PS: тоже неидеальное решение((


Часовой пояс GMT +3, время: 23:41.