Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Ограничение символов для ввода (https://javascript.ru/forum/dom-window/1442-ogranichenie-simvolov-dlya-vvoda.html)

kotofeich 18.07.2008 11:43

Ограничение символов для ввода
 
Хотелось бы ограничить ввод текста в текстовое поле только английскими буквами и символом "_". Может кто-нибудь знает как это реализовать на js? Заранее спасибо.

Kolyaj 18.07.2008 12:01

function setValidator(id, regex) {
  var element = document.getElementById(id);
  if (element) {
    var lastValue = element.value;
    if (!regex.test(lastValue))
      lastValue = '';
    setInterval(function() {
      var value = element.value;
      if (value != lastValue) {
        if (regex.test(value))
          lastValue = value;
        else
          element.value = lastValue;
      }
    }, 10);
  }
}


<input type="text" id="test" />
<script type="text/javascript">
setValidator('test', /^[a-zA-Z_]*$/);
</script>

kotofeich 18.07.2008 12:34

Спасибо большое! то что нужно!

Мендыбаев Игорь 04.06.2010 13:01

А как сделать так, что-бы поле состояло из латинских и русских букв.
НО:agree: Ни каких спецсимволов???:write:

exec 04.06.2010 13:03

/[a-zа-я]/i

Мендыбаев Игорь 04.06.2010 13:07

Цитата:

Сообщение от exec (Сообщение 57836)
/[a-zа-я]/i

А можно код целиком?

exec 04.06.2010 13:19

setValidator('test', /[a-zа-я]/i);

Мендыбаев Игорь 04.06.2010 13:48

Цитата:

Сообщение от exec (Сообщение 57843)
setValidator('test', /[a-zа-я]/i);

Проверил, а он пишет:
"Логин должен начинаться с латинского символа"
А мне надо, что-бы кирилицу тоже поддерживал

Мендыбаев Игорь 04.06.2010 13:56

А потом применил к поле имя.
Так вообще смог зарегистрироваться с именем начинающимся на цифру

exec 04.06.2010 17:01

Вот так точно будет работать:

setValidator('test', /^[a-zа-я]*$/i);


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