如何编写正则表达式以匹配模式结尾处的一个数字?

时间:2011-04-12 02:55:41

标签: regex

我的字段应该采用A111-1A1格式,但我的正则表达式允许最后一个数字超过一位数(例如A111-1A1212341)。我该如何解决?

以下是我目前正在使用的正则表达式。

var validchar = /^[A-Z](([0-9]{3})+\-)[0-9][A-Z][0-9]+$/;

3 个答案:

答案 0 :(得分:2)

删除模式末尾的+。这就是最后允许多个数字的原因。

var validchar = /^A-Z[0-9][A-Z][0-9]$/;

然而,你的模式看起来不正确,你做你想说的。这真的是你正在使用的确切模式吗?

答案 1 :(得分:0)

试试这个

var validchar = /^[A-Z][0-9]{3}\-[0-9][A-Z][0-9]$/;

或者从正则表达式的末尾删除+

var validchar = /^A-Z[0-9][A-Z][0-9]$/;

答案 2 :(得分:0)

只需从正则表达式中删除最终+

var validchar = /^[A-Z]([0-9]{3})+\-[0-9][A-Z][0-9]$/;