我有以下正则表达式来验证输入中的数字
var reg = /^\d+$/;
现在我想在数字字段中允许,(逗号)和。(句点)如下所示,有些人会帮我写正则表达式以允许以下数字格式吗?
10000000
10,000,000
10000000.00
答案 0 :(得分:2)
您可以使用
/^(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?$/
请参阅regex demo
如果您只需要在小数点分隔符后面加2位数,请将(?:\.\d+)?
替换为(?:\.\d{1,2})?
。
<强>详情:
^
- 字符串开头(?:\d{1,3}(?:,\d{3})*|\d+)
- 2个替代方案:
\d{1,3}(?:,\d{3})+
- 1到3位数字以及逗号和3位数字的一个或多个序列\d+
- 一位或多位(?:\.\d+)?
- 可选序列:
\.
- 一个点\d+
- 一位或多位答案 1 :(得分:1)
您可以使用
^((\d{1,2}(,\d{3})+)|(\d+)(\.\d{2})?)$
请参阅Regex101
或
^((\d{1,2}(,\d{3})+)|(\d+))(\.\d{2})?$
如果您希望10,000,000.00
与之匹配。