Объедините два регулярных выражения в одно при проверке атрибута
У меня есть два регулярных выражения.
[RegularExpression(@".*[^ ].*", ErrorMessage ="Something")]
проверить строку, которая содержит только пробелы (не любые другие символы, например:" ".length = 7
).[RegularExpression(@"^[^~!@#$%&*]+$", ErrorMessage = "something")]
проверить строку, содержащую~!@#$%&*
специальные символы.
Как можно объединить оба регулярных выражения в одно, потому что дублирование аннотации регулярного выражения не допускается в asp.net mvc.
1 ответ
Решение
Вы можете использовать
^[^~!@#$%&*]*[^~!@#$%&*\s][^~!@#$%&*]*$
Посмотреть демо-версию регулярного выражения
подробности
^
- начало строки[^~!@#$%&*]*
- 0+ символов, кроме символа в~!@#$%&*
список[^~!@#$%&*\s]
- символ, отличный от символа в~!@#$%&*
список и пробелы[^~!@#$%&*]*
- 0+ символов, кроме символа в~!@#$%&*
список$
конец строки.
ПРИМЕЧАНИЕ: чтобы также разрешить пустую строку, вам нужно обернуть шаблон между якорями в дополнительной группе: ^(?:[^~!@#$%&*]*[^~!@#$%&*\s][^~!@#$%&*]*)?$
,