正则表达式匹配数字逗号

时间:2012-07-23 15:15:08

标签: javascript regex web

这就是我现在所拥有的:

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

我的问题是我希望能够在逗号之前和之后添加多个数字。

的示例:

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

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

3 个答案:

答案 0 :(得分:8)

我建议如下:

/^\d+,\d+$/

+'匹配前一项一次或多次。'

参考文献:

答案 1 :(得分:4)

使用+符号,同时删除[]周围的,括号(不需要):

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

答案 2 :(得分:1)

你有两个正则表达式主中继器,第一个是*,说"重复零次或多次"。第二个是+,表示"重复一次或多次"。

在这种情况下,您需要重复整数值和小数值的一次或多次。所以你可以尝试一下:

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

所以它会验证:

  0
  0123
  1,12
  1,0
  1,12340

但不会验证:

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

提示:

  • 您只能将[0-9]替换为\d。这意味着同样的事情;
  • 您不需要群组逗号,只需使用,代替[,]。您只能将其用于多种可能性,例如接受逗号和点:[,\.];

按照提示操作,您可以尝试:

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