Javascript 正则表达式:如何重复匹配的模式?

Javascript 正则表达式:如何重复匹配的模式?,javascript,regex,Javascript,Regex,我需要确保字符串匹配数据匹配以下模式的规则 ^\d{1,4}\,? 基本上,它可以是1-4个字符之间的数字列表,后跟“,”。所以这是有效的 121231234,但12345123不会。如何让它重复比赛?我尝试将其分组并在末尾添加+,但这不起作用。正则表达式还应使用$来确保整个输入匹配,并使用量词+进行重复: var re = /^(\d{1,4}(,|$))+$/; 并使用RegExp.test方法验证输入: var valid = re.test(str); 测试: re.test('1

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

^\d{1,4}\,?
基本上,它可以是1-4个字符之间的数字列表,后跟“,”。所以这是有效的


121231234,但12345123不会。如何让它重复比赛?我尝试将其分组并在末尾添加+,但这不起作用。

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

var re = /^(\d{1,4}(,|$))+$/;
并使用
RegExp.test
方法验证输入:

var valid = re.test(str);
测试:

re.test('1,12,123,1234');
true
re.test('12345,123');
false
请尝试以下操作:

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