regex匹配数字逗号数字

regex to match number comma number

本文关键字:数字 regex      更新时间:2024-01-23

这就是我现在拥有的:

^[0-9]([,][0-9])?$

我的问题是,我希望能够在逗号前后添加一个以上的数字。

示例:

1,12
12,12
123,12
12,123

以上所有数字都应该是有效的。

我建议如下:

/^'d+,'d+$/

+'与前面的项匹配一次或多次。'

参考文献:

  • Mozilla开发者网络上的JavaScriptRegular Expressions

使用+符号,并移除,周围的[]括号(它们不是必需的):

^[0-9]+(,[0-9]+)?$
  //  ^-------^---------here they are

您有两个regex主中继器,第一个是*,表示"重复零次或多次"。第二种是+,意思是"重复一次或多次"。

在这种情况下,您需要将整数值和十进制值重复一次或多次。所以你可以试试:

  ^[0-9]+([,][0-9]+)?$

因此,它将验证:

  0
  0123
  1,12
  1,0
  1,12340

但不会验证:

  1,
  ,0
  -1,0
  1e-10

提示:

  • 只能用'd替换[0-9]。意思是一样的
  • 您不需要组逗号,只需使用,而不是[,]即可。您只能将其用于多种可能性,例如接受逗号和句点:[,'.]

按照提示,你可以尝试:

  ^'d+(,'d+)?$