RegEx:如何重复模式匹配?

时间:2014-05-07 15:57:51

标签: javascript regex

我需要确保字符串匹配规则数据符合以下模式

^\d{1,4}\,?

基本上它可以是1-4个字符之后的数字列表,后跟","。所以这是有效的

1,12,123,1234但12345,123,不会。怎么告诉它重复匹配?我尝试将其分组并在最后添加+,但这不起作用。

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

/^(?:\d{1,4}(,|$))+$/

答案 1 :(得分:0)

正则表达式也应该使用$来确保匹配整个输入并使用量词+进行重复:

var re = /^(\d{1,4}(,|$))+$/;

并使用RegExp.test方法验证输入:

var valid = re.test(str);

<强>测试

re.test('1,12,123,1234');
true
re.test('12345,123');
false