2014-02-01 3 views
0

Я использую /^\d+$/ для цифр и /^[a-zA-Z]*$/ для писем.regex включить все, кроме номеров; включить все, кроме букв

Они используются для проверки символов, введенных в текстовое поле, с использованием onkeydown="somefunction(String.fromCharCode(event.keyCode));" , и мой аргумент передается, чтобы узнать, совпадает ли оно с регулярным выражением. Я хочу, однако, включить backspace для обоих из них. Возможно, даже стрелки клавиатуры, но стрелки не самые важные. Пожалуйста помоги!

+0

Почему вы не соответствуете соответствующему keyCode напрямую, прежде чем преобразовывать их в символы? – Robin

ответ

1

Ваша проблема в том, что вы пытаетесь проверить каждое нажатие клавиши, а не целое поле. Ключевыми нажатиями могут быть всевозможные вещи, включая пробелы, удаления и стрелки, как вы уже упоминали, но есть множество других.

Вместо этого создайте свою функцию для проверки заполненного поля формы. Используйте onchange = "somefunction()" вместо этого, чтобы проверить содержимое поля формы, о котором идет речь.

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