使用JavaScript我只需要接受数字和逗号。 我正在使用的正则表达式模式如下
var pattern = /^[-+]?[0-9]+(\.[0-9]+)?$/;
如何接受上述模式中的逗号,以便3200或3,200或3,200.00之类的值有效。
答案 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次出现。