用于amount的Javascript正则表达式

Javascript regex for amount

本文关键字:正则表达式 Javascript amount 用于      更新时间:2023-09-26

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

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

我有的是:

/^'d+'.'{0,1}+'d{0,2)+$/

…显然行不通。我要做的例子:

123年有效

123.00有效

12.34.5无效

123.000无效

尝试匹配带有或不带有句号的金额。

如果包含句点,只能是一个,后面不超过两位数字。

将小数点和小数点后的1位或2位数字组成单独的可选组:

/^'d+('.'d{1,2})?$/

测试:

> 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

你试过了吗:

/^'d+('.'d{1,2})?$/

?使('.'d{1, 2})组可选(即匹配0或1次)。

这样的东西会起作用吗?

// Check if string is currency
var isCurrency_re    = /^'s*('+|-)?(('d+('.'d'd)?)|('.'d'd))'s*$/;
function isCurrency (s) {
   return String(s).search (isCurrency_re) != -1
}