Javascript正则表达式的金额

Ose*_*eer 2 javascript regex

我正在尝试获得一个金额的正则表达式:

任何数字+周期(至少为零,不超过一个)+任意数字(至少为零不超过两个[如果可能,为零或两个])

我有的是:

/^\d+\.\{0,1}+\d{0,2)+$/
Run Code Online (Sandbox Code Playgroud)

......显然不行.我正在尝试做的例子:

123有效

123.00有效

12.34.5无效

123.000无效

试图匹配有或没有期间的金额.如果包含期间,则只能是一次且不超过两位数.

Mat*_*all 19

将小数点和小数点后的1或2位数设为自己的可选组:

/^\d+(\.\d{1,2})?$/
Run Code Online (Sandbox Code Playgroud)

测试:

> var re = /^\d+(\.\d{1,2})?$/
  undefined
> re.test('123')
  true
> re.test('123.00')
  true
> re.test('123.')
  false
> re.test('12.34.5')
  false
> re.test('123.000')
  false
Run Code Online (Sandbox Code Playgroud)