使用正则表达式测试数字输入

Jos*_*rke 4 javascript regex validation

我有以下正则表达式:

^[-+]?[\d{0,3},?\d{3}]*\.?\d+$

我正在尝试支持以下格式的数量:

  • 1
  • -1
  • -1.00
  • 100000

我不关心科学记谱法,但我的用户可能会或可能不会用逗号输入.我遇到的问题是表达式匹配:

  • 100,
  • 100,00

我怎么能让表达式表明如果有一个逗号,那么后面必须有三个字符.

Gum*_*mbo 6

试试这个正则表达式:

/^[-+]?(?:\d*|\d{1,3}(?:,\d{3})*)(?:\.\d+)?$/
Run Code Online (Sandbox Code Playgroud)