2016-08-03 4 views
2

Мне нужно проверить текстовое поле, чтобы пользователь не вводил пробел или тэг #. На данный момент я пробовал под регулярными выражениями и добился только ограничения пространства.Регулярное совпадение строки без пробела и символа хеша #

Случай 1: Регулярное выражение ограничения Space:^\S+$ - Это работает

Случай 2: Регулярное выражение, чтобы ограничить пространство и # хэш-тег - (\S+$)[!#] Это не работает

мне нужно запретить пользователю вводить пробел и хэш-тег #.

ответ

3

Вам нужно раскатать \S как [^\s] и добавьте # к нему:

^[^\s#]+$ 

См regex demo. Подробнее

Pattern:

  • ^ - начало строки якоря
  • [^\s#]+ - 1 или более (+), кроме символов (см [^...], а инвертированного класса символов) пробельного (\s) и #
  • $ - конец строки.
+1

спасибо. Это сработало –

+1

Отлично, я мог бы помочь, пожалуйста, подумайте о том, чтобы принять ответ. –

+0

Приняв ответ, вы позволите другим узнать, что проблема решена, чтобы они не тратили время на чтение вопросов и ответов (ответов). –

Смежные вопросы