Ваш атрибут pattern
должен выглядеть следующим образом:
pattern="[^`~!@#$%\^&*()_+={}|[\]\\:';<>?,./\x22]*"
Во-первых, вам НЕ следует использовать ^
и $
, поскольку вы сопоставляете каждый отдельный символ с этим шаблоном.
Во-вторых, проблема с символом "
. Так что пока я просто удалил его из класса, я буду больше в него изучать.
UPD : найдено решение для символа кавычки здесь . \x22
работает как "
символ.
Вот рабочий пример: https://jsfiddle.net/qy5m07uh/