仅限带逗号的数字的正则表达式

时间:2015-10-27 12:54:52

标签: javascript regex

使用JavaScript我只需要接受数字和逗号。  我正在使用的正则表达式模式如下

 var pattern = /^[-+]?[0-9]+(\.[0-9]+)?$/;

如何接受上述模式中的逗号,以便3200或3,200或3,200.00之类的值有效。

1 个答案:

答案 0 :(得分:1)

使用以下正则表达式:

(?:[0-9]+,)*

请参阅regex demo

此处的基本更改是添加匹配的[0-9]+子模式:

  • , - 一位或多位
  • * - 逗号

0次或多次(感谢^[-+]?[0-9]+(?:,[0-9]{3})*(?:\.[0-9]+)?$ 量词)。

我还使用了非捕获组,以便正则表达式输出更清洁"。

如果您需要检查号码中的3位数组,请使用

(?:,[0-9]{3})*

请参阅another demo

此处,[0-9]{3}匹配逗号和3位数字串({3})的0或更多序列。 Results是一个限制性量词,恰好匹配前一个子模式的3次出现。