Как я могу предотвратить буквы внутри текстового элемента? - PullRequest
2 голосов
/ 20 февраля 2012

Мне нравится иметь максимальную длину ввода 3.

Эти входные значения должны быть только числами без букв.

При ссылке на этот пост: почемуне работает в Safari? вы видите, что я не могу использовать <input type="numbers">

Так как я могу запретить буквы внутри элемента ввода текста?

Ответы [ 2 ]

6 голосов
/ 20 февраля 2012
<script>
function checkPattern(elem) {
  if(!elem.value.match('^' + elem.getAttribute('pattern') + '$')) {
    alert('The value must be 3 digits.');
  }
}   
</script>
<input maxlength=3 pattern=[0-9]{3} onchange=
   checkPattern(this)>

Изменить обработку ошибок в соответствии с приложением. Идея состоит в том, чтобы использовать атрибут HTML5 pattern и создать его резервную копию с помощью простого кода JavaScript для браузеров, которые не поддерживают этот атрибут, но отключили JavaScript.

4 голосов
/ 20 февраля 2012

Вы можете использовать jQuery.

$("#myField").keyup(function() {
    $("#myField").val(this.value.match(/[0-9]*/));
});
...