Я хочу ограничить ввод html, чтобы пользователь не мог вводить char # во ввод
я пытался использовать шаблон, но, похоже, он не работает
я добавляю этот шаблон к моему входному шаблону = "[^-#] +"
я ожидаю, что пользователь не может ввести char #, но все же может, что не так?
pattern не помешает пользователям вводить эти символы. Вам нужно будет использовать событие keyup
Возможный дубликат Ограничить количество символов в поле ввода
возможный дубликат stackoverflow.com/questions/895659/…
Возможный дубликат как заблокировать или ограничить использование специальных символов в полях ввода с помощью jquery?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это сработало для меня.
Поместите свою логику в функцию обработчика событий onkeydown или onkeypress. узнать charCode. Должно быть 35. Тогда просто event.preventDefault(), если условие выполнено.
Используйте событие нажатия клавиши и используйте replace(), чтобы заменить # пустой строкой ''.
<script>
function validateInput()
{
var data = document.getElementById("input").value;
data = data.replace('#','');
document.getElementById("input").value = data;
}
</script>
<input type = "text" id = "input" onkeyup = "validateInput()" />используйте replacefunction, чтобы заменить # пробелом в событии keyup или oninput.
<input type = "text"
oninput = "this.value = this.value.replace(/#/g, '')" />
Этот ответ должен помочь вам. ссылка на ответ