@self-taught-dog
Начинающий веб-разработчик

Как запретить ввод пробелов, скобок и тире в поле?

Стараюсь создать руглярку для запрета символов, но получается лишь по отдельности запретить либо пробелы с помощью ^\S*$ , либо другие символы с помощью [^\(\)\-]*$ , а вместе они никак не хотят работать, как я только не пробовал. Правило либо вообще не срабатывает, либо запрещает вообще все символы. Пробовал варианты ^\S^\(^\)^\-*$ , ^\S[^\(\)\-]*$ , ^[\S][^\(\)\-]*$ , и подобные.. Подскажите что я делаю не так
  • Вопрос задан
  • 2541 просмотр
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
https://regex101.com/r/nV9ZLS/1
^[^\s()-]*$
Первая "крышка" означает, что это начало строки. Последний "доллар" означает конец строки.
Между ними любое (0 или более символов) из множества, описанного в квадратны скобках.
В квадратных скобках крышка означает, что множество инвертировано. То есть допускаются любые символы, кроме перечисленных.
То есть, данное множество представляет собой НЕ: пробел, скобки и минус, но любые другие символы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы