0
var filter1 = /^\d{3}+[\-]+[A-Za-z1-9]{2}+[\-]+\d{3}+[A-Z]{2}+$/ ;

我想得到这个模式 NNN-xx-NNNLL

这里的 N 表示从 0 到 9 的任何数字,而 x 表示除零 (0) 和下划线 (_) 之外的字母数字字符,L 表示从 A 到 Z 的大写字母。

请帮忙。我的模式是错误的

4

3 回答 3

2

您在表达式中使用了+错误。在正则表达式中,加号表示至少一个前面的表达式。但是,它不用作集中器。如果您只是删除所有出现的+ ,您的表达式应该可以正常工作。

var filter1 = /^\d{3}[\-][A-Za-z1-9_]{2}[\-]\d{3}[A-Z]{2}$/;
于 2013-10-09T18:26:15.747 回答
2

加号表示先行元素出现一次或多次。你在这里用错了。
破折号也是括号外的文字,您不需要它们。

var filter1 = /^\d{3}-[_A-Za-z1-9]{2}-\d{3}[A-Z]{2}$/
于 2013-10-09T18:29:18.870 回答
1

怎么样:^\d{3}-[A-Z1-9a-z]{2}-\d{3}[A-Z]{2}$

于 2013-10-09T18:25:19.843 回答