我需要一个正则表达式用于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)
这是不正确的,它接受这些字母之间的所有值。
答案 0 :(得分: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)$