Javascript Regex允许逗号的数量

Javascript Regex allow comma in amount

本文关键字:许逗号 Regex Javascript      更新时间:2023-09-26

我有Regex表达式,允许用户使用decimal or without decimal输入金额。当金额有comma(,)时,我面临问题。我想在金额上允许comma(,)

这是我的Regex

var regexp = new RegExp("^''$?(?=.*[1-9])(?:[1-9]''d*''.?|0?''.)''d*$")

上述表达式适用于以下数量的

123
1.232
112.2
$12.0
$0.1

以下失败

$42,529.41
$4,529.41

我怎么能允许逗号的金额?金额必须大于零。

^''$?(?=.*[1-9])(?:[1-9]''d*,?''d*[.]?|0?[.])''d*$
                            ^^  ^^

试试这个。请参阅演示。

https://regex101.com/r/nD5jY4/1

使用模式允许在整数部分使用逗号,并使其重复零次或多次。添加一个否定前瞻以不匹配00.000

var regexp = /^'$?(?!0+(?:'.0+)?$)'d+(?:,'d+)*(?:'.'d+)?$/m;

^(?=.*?[1-9])'$?'d+(?:,'d+)*(?:'.'d+)?$

演示