Angular регулярное выражение шаблона валидатора для соответствия тому или иному правилу, но не обоим - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь сопоставить пользовательские диапазоны с помощью angular валидаторов, например:

enter image description here

идея состоит в том, чтобы соответствовать одному из двух вариантов диапазонов с валидатором angular:

1-99 или 1,2,5,6,8, но не обоими (1-99,101,105,110) или (1,3,5,6,7-15)

this.form = this.fb.group({
      loads: ['', [Validators.required, Validators.pattern(/^\d+-\d+|\d+(?:,\d+)*$/)]],
      notes: ['', Validators.required]
    });

Я пробовал некоторые решения и самые близкие был этот, но он соответствовал им обоим.

1 Ответ

0 голосов
/ 06 февраля 2020

Наконец я нашел рабочее решение:

Validators.pattern(/^\d+-\d+$|^\d+(?:,\d+)*$/)

Мне нужно было начинать и заканчивать утверждение в каждой опции ИЛИ:

1,2,3,4,5-99       // not match
1-99,1,23,3,4,5    // not match
1-99               // matches
1,2,3,4,5          // matches
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...