Объедините два регулярных выражения в одно при проверке атрибута - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть два регулярных выражения.

  1. [RegularExpression(@".*[^ ].*", ErrorMessage ="Something")] проверка строки, содержащей только пробелы (никаких других символов, например: " ".length = 7).
  2. [RegularExpression(@"^[^~!@#$%&*]+$", ErrorMessage = "something")] проверка строкикоторый содержит ~!@#$%&* специальных символов.

Как я могу объединить оба регулярных выражения в одно, поскольку в asp.net mvc не допускается аннотация двойных регулярных выражений.

1 Ответ

0 голосов
/ 20 февраля 2019

Вы можете использовать

^[^~!@#$%&*]*[^~!@#$%&*\s][^~!@#$%&*]*$

См. Демоверсию regex

Подробности

  • ^- начало строки
  • [^~!@#$%&*]* - 0+ символов, кроме символа в списке ~!@#$%&*
  • [^~!@#$%&*\s] - символ, отличный от символа в списке ~!@#$%&*, ипробел
  • [^~!@#$%&*]* - 0+ символов, отличных от символа в списке ~!@#$%&*
  • $ - конец строки.

ПРИМЕЧАНИЕ.также разрешите пустую строку, вам нужно обернуть шаблон между якорями в дополнительной группе: ^(?:[^~!@#$%&*]*[^~!@#$%&*\s][^~!@#$%&*]*)?$.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...