如何确保正则表达式匹配模式的一次出现

时间:2013-03-20 12:57:42

标签: regex xpages

这是我的正则表达式:

var re = /[a-zA-Z]{6}[0-9]{4}$/;
if (storageTrayId == "") {
return false;
} else if(!re.test(storageTrayId)) {
alert('Storage Tray ID must be in the format \n ssstttnnnn (where sss is an alphabetic identifier for the Bulk File Center, ttt is an alphabetic identifer for the bundle type stored, and nnnn is the sequence number)');
 return false;
};

如果输入格式正确的值(例如BALTEL0001)和不正确的值(例如BT001或BALTEL0001BT0001),则匹配正确。但是,如果我输入BALTEL0001BALTEL0002,它也会匹配。只有当值是模式的一次出现时我才需要它匹配。我确信这很简单,但我没有碰到它。

2 个答案:

答案 0 :(得分:4)

这里有一个测试:var re = /^[a-zA-Z]{6}[0-9]{4}$/;

答案 1 :(得分:2)

您只需要添加起始锚点即可。 您更新的正则表达式将如下所示。

/^[a-zA-Z]{6}[0-9]{4}$/