2015-03-18 4 views
-1

Я нахожусь в процессе создания формы, и я хочу проверить поля ввода наKeyPress. Мне удалось найти JavaScript, чтобы ограничить поле только тем, чтобы вводить числа. Теперь я пытаюсь адаптировать этот код, чтобы разрешать только буквы и дефисы.Только для определенных символов

код я должен разрешить только номера выглядит следующим образом ...

 function isNumber(evt) { 
     evt = (evt) ? evt : window.event; 
     var charCode = (evt.which) ? evt.which : evt.keyCode; 
     if (charCode > 31 && (charCode < 48 || charCode > 57)) { 
      return false; 
     } 
     return true; 
    } 

Как бы адаптировать и изменить это, чтобы только буквы и дефис вместо этого.

Извините, если этот вопрос задан раньше, но все, что я могу найти, делает это с использованием JQuery и т. Д., И я хотел бы попытаться избежать этого, если смогу.

Заранее спасибо

+1

Используйте ключевые события, как это плохая идея, потому что значение может быть введено без диспетчерских соответствующее событие, и это очень раздражает пользователей. Вы заботитесь только о значении, когда оно отправляется на сервер или где угодно, поэтому пусть пользователь создает допустимое значение любым способом, который им подходит, а затем проверяет его в том случае, если он должен быть действительным. – RobG

ответ

0
var myRegex = /^[A-Za-z\-]+$/; 

myRegex.test('hello'); //true 
myRegex.test('asdasd-adasd'); //true 
myRegex.test('123as'); //false 
+1

Рассмотрим '!/[^ A-z \ -]/i.test (string)'. ;-) – RobG

Смежные вопросы