Регулярное выражение для первых двух символов строки должно быть GE | TE | WN | ТА | УП | BW и следующие два символа должны быть RU | MT | LD - PullRequest
0 голосов
/ 17 апреля 2019

Мне нужно регулярное выражение для проверки поля с четырьмя буквами в jquery. В котором он принимает, первые два должны быть GE | TE | WN | TA | UE | BW, а следующие два символа должны быть RU |MT | LD

Пример:

GELD (Valid)
EGLD (Invalid)
TEMT (valid)       
TETM (invalid)   

My Regex:

 ([GE|TE|WN|TA|UE|BW]{2}[RU|MT|LD]{2})

это не правильно, он принимает все значения между этими алфавитами.

1 Ответ

1 голос
/ 17 апреля 2019

Используйте два отдельных чередования:

(?:GE|TE|WN|TA|UE|BW)(?:RU|MT|LD)

Вы допустили довольно распространенную ошибку, полагая, что [RU|MT|LD] означает RU, MT или LD.Это не так, но на самом деле означает [DLMRTU], то есть одну из этих шести букв.

Демо

Возможно, вы захотите также окружить свойшаблон с начальным и конечным якорями, например, если вы хотите ограничить совпадение всего ввода:

^(?:GE|TE|WN|TA|UE|BW)(?:RU|MT|LD)$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...