Как предотвратить повторение символов в имени и фамилии с помощью регулярного выражения в модели C # для поля проверки - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь поместить регулярное выражение в мою табличную модель для проверки имени и фамилии в том же поле формы, когда:

1st Имя должно содержать не менее 3 символов.

2ndФамилия должна быть не менее 2 символов.

3-е имя не может быть повторяющимися буквами, такими как aaaaa bbbb cccc.

Поэтому я попытался выполнить приведенный ниже код без успеха:

    [Display(Name = "Nome"), Required(ErrorMessage = "Campo Obrigatório", AllowEmptyStrings = false)]
    [StringLength(150, ErrorMessage = "O {0} deve ter no mínimo {2} letras e no máximo {1} letras.", MinimumLength = 1)]
    [RegularExpression(@"^([a-zA-ZÁ-ú\b]+(?!([a-zA-ZÁ-ú\b]*?[a-zA-ZÁ-ú\b]\3.*?))+ [a-zA-ZÁ-ú\b]+(?!([a-zA-ZÁ-ú\b]*?[a-zA-ZÁ-ú\b]\3.*?)))*$", ErrorMessage = "Não são permitidos caracteres especiais.")]
    public string Name { get; set; }

Я не мог избежать повторений по фамилии.(

1 Ответ

1 голос
/ 24 мая 2019

Используйте это \w{3,} \w{2,} (?:(\w)(?!\1))+


Объяснение

\ w {3,} - любое слово с минимальной шириной 3 и максимально неограниченным

Space

\ w {2,} - любое слово с минимальной шириной 2 и максимально неограниченным

Space

(?: - запуск группы без захвата (только для результатов, которые не отображаются)

(\ w) - группа, содержащая только слово

(?! \ 1) - следующее слово не может совпадать с последним (отрицательный взгляд)

) - Конец группы без захвата

Надеюсь, это поможет:)

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