#jquery #regex
#jquery #регулярное выражение
Вопрос:
Мне нужно регулярное выражение для проверки поля с четырьмя буквами в jquery. В котором он принимает первые два, должно быть GE | TE | WN | TA | UE | BW
, а следующие два символа должны быть RU |MT | LD
Пример:
GELD (Valid)
EGLD (Invalid)
TEMT (valid)
TETM (invalid)
Мое регулярное выражение:
([GE|TE|WN|TA|UE|BW]{2}[RU|MT|LD]{2})
это неверно, оно принимает все значения между этими алфавитами.
Ответ №1:
Используйте два отдельных чередования:
(?: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)$