正则表达式,匹配5个(完全)逗号分隔的货币值

时间:2018-05-10 12:20:11

标签: javascript regex

我需要匹配5个以逗号分隔的货币值。

我确实有这个注册工作可以完成这项工作,但我认为这不是一个好方法。

^(\$[0-9]{1,3}(?:[,.]?[0-9]{3})*(?:\.[0-9]{2})?,\s?){4}(\$[0-9]{1,3}(?:[,.]?[0-9]{3})*(?:\.[0-9]{2})?)$

P.S。我不得不将表达式拆分为匹配的,4个逗号分隔的出现次数和1来嗅出尾随的逗号(我不认为这是这样做的方式)

一些有效的匹配输入可以是,

$200,000,$525,$60000,$120,000,$65,456 (space between currency values is optional)
$200,000, $525, $60000,$120,000, $65,456

一些无效的输入值,

$200,000,$525,$60000,$120,000,$65,456, (Trailing comma)
$200,000,,$525,$60000.$120,000,$65,456,, etc

任何指针都会非常感激。

编辑:我正在寻找的解决方案是一个纯粹的注册解决方案(比我上面写的更好),这样我就可以在用户输入错误输入后立即触发验证。

0 个答案:

没有答案