Я заставляю пользователей вводить некоторые теги. Эти теги должны содержать только символы:
[a-z]
[A-Z]
[0-9]
-
Если присутствует какой-либо другой символ, его следует удалить из строки.
Возможно ли это? Какой самый быстрый способ сделать это?
Вы можете назначить обработчик событий keyup соответствующему элементу input и отфильтровать значения, используя этот код:
keyup
input
$("input").keyup(function(){ var value = $(this).val().replace(/[^-a-zA-Z0-9]/g, ""); $(this).val(value) })
$("input")
$(this).val()
[^-a-zA-Z0-9]
/[^-a-z0-9]/i
/g
.replace(/.../g, "")
$(this).val(value)
Нет необходимости в jQuery:
str.replace(/[^a-z0-9\-]/ig,"");
Удалит все, что не является буквой, цифрой или тире.
Простое регулярное выражение заменяет:
userInputString.replace(/[^a-z0-9\-]/ig, "")