使用正则表达式验证逗号分隔的数字字符串吗?

时间:2020-01-12 13:05:37

标签: javascript regex

我需要一个正则表达式来验证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个群组。并且总是希望逗号结尾。

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式:

^,?(?:\d{3},)*\d{3},?$

RegEx Demo

如果正则表达式平台不支持将\d替换为[0-9]

RegRx说明:

  • ^,?:在开始时匹配一个可选的,
  • (?:\d{3},)*:匹配一个非捕获组0次或更多次。我们在此组中匹配一个3位数字,后跟,
  • \d{3}:匹配3位数字
  • ,?$:在末尾匹配一个可选的,
相关问题