我需要一个正则表达式来验证3个数字,然后依次验证,
和3个数字,以及基本上任意次数。逗号可以在开头,也可以在结尾(但严格来说是一个)。
因此,这些是有效的输入:
,111,111,
112,112
,112,112,113,114,111,
114,115
,142,
141
无效输入:
,
,
,, 145 ,,
我的表情像:
var re = /^[0-9]{3}([,][0-9]{3})*$/;
但是效果不佳,仅接受2个群组。并且总是希望逗号结尾。
答案 0 :(得分:1)
您可以使用此正则表达式:
^,?(?:\d{3},)*\d{3},?$
如果正则表达式平台不支持将\d
替换为[0-9]
。
RegRx说明:
^,?
:在开始时匹配一个可选的,
(?:\d{3},)*
:匹配一个非捕获组0次或更多次。我们在此组中匹配一个3位数字,后跟,
。\d{3}
:匹配3位数字,?$
:在末尾匹配一个可选的,