Проверка правильности регулярного выражения свойства в модели
Я пытаюсь проверить свойство, которое должно иметь девятизначный код и не может заканчиваться четырьмя нулями или четырьмя девятками и должно вводиться без специальных символов.
Я попробовал следующий код
[RegularExpression(@"(^(?i:([a-z])(?!\1{2,}))*$)|(^[A-Ya-y1-8]*$)", ErrorMessage = "You can not have that")]
public string Test{ get; set; }
Но это не работает.
Пример: exasdea0000
,asdea9999
,exasde@0000
или же as_ea9999
не может быть введен.
Как мне этого добиться?
1 ответ
Решение
Вы можете написать свое регулярное выражение так:
^(?!\d+[09]{4}$)\d{9}$
Объяснение:
^ // from start point
(?! // look forward to don't have
.+ // some characters
[09]{4} // followed by four chars of 0 or 9
$ // and finished
)
\d{9} // nine characters of digits only
$ // finished
[Regex Demo]