String的前两个字符的正则表达式应为GE | TE | WN | TA | UE | BW和下两个字符应为RU | MT | LD

时间:2019-04-17 05:04:22

标签: jquery regex

我需要一个正则表达式用于jquery中带有四个字母的字段验证。它接受的前两个字符应为$.map(SomeJSON, function (resourceitem, i) { var resource = new Object(); resource.id = resourceitem.UserID.toString(); resource.title = resourceitem.UserName+'<div class="text-accent">test</div> '; if (resourceitem.UserID == scheduleitem.AssignedStaff) { $('div[id*=calendarAgendaSchedule]').fullCalendar('addResource', resource, scroll); } }); ,后两个字符应为GE | TE | WN | TA | UE | BW

示例:

RU |MT | LD

我的正则表达式:

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

这是不正确的,它接受这些字母之间的所有值。

1 个答案:

答案 0 :(得分:1)

使用两个单独的交替:

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

您认为[RU|MT|LD]的意思是RUMTLD时犯了一个相当普遍的错误。它没有,但实际上表示[DLMRTU],即这六个字母之一。

Demo

您可能还想用开始和结束锚点来包围样式,例如如果您想限制整个输入以匹配:

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