#javascript #regex
#javascript #регулярное выражение
Вопрос:
Возможно ли удалить все из текстового поля, кроме того, что определено регулярным выражением, при каждом событии ввода?
Например, у меня есть текстовое поле и регулярное ^[a-zA-Z0-9] $
выражение. Всякий раз, когда пользователь вводит (или вставляет) символы, он удаляет любые символы, которые не содержатся в этом регулярном выражении.
Комментарии:
1. смотрите: bytes.com/topic/javascript/answers /…
Ответ №1:
HTML:
<input />
Javascript:
var input = document.getElementsByTagName('input')[0];
input.onkeydown = function () {
input.value = input.value.match(/[a-zA-Z0-9] /g).join();
}
Ответ №2:
Вы могли бы использовать регулярное выражение заменить отрицаемым символьным классом (я также сократил символ, сделал его нечувствительным к регистру и выполнил глобальную замену)
var input = document.getElementById('sandbox');
input.onkeyup = function(){
input.value = input.value.replace(/[^a-z0-9]/ig,'');
}
В действии: http://jsfiddle.net/theprawn/GvbKY /