美国货币的正则表达式(没有,)金额

时间:2017-08-07 06:27:58

标签: javascript regex

我对Regex的要求如下所示美国货币(没有,)。

如果用户在TextBox控件中输入金额,则应使用低于预期格式的自动格式化。

如果值 1111 - 则自动格式为 $ 1111.00

如果值 $ 1111 - 则自动格式为 $ 1111.00

如果值 $ 1111 - 则自动格式为 $ 1111.00

如果值 1111.0 - 则自动格式为 $ 1111.00

如果值 $ 1111.00 - 则自动格式为 $ 1111.00

我尝试过如下,但它无效。

// Define a global flag
allowSubmit = true

// And in your custom submit event function
if allowSubmit
   $('#yourForm').submit() #Fire native submit function manually here
   allowSubmit = false
else
   return false

格式 $ 1

请提出任何建议。

1 个答案:

答案 0 :(得分:-1)

不要打扰正则表达式,因为这不是字符串匹配或搜索问题。相反,编写一个执行以下操作的函数:

  • 删除所有空白字符和$个字符,将其替换为''没有
  • 将结果字符串拆分为.
  • 从拆分中取出两个令牌,并将其命名为dollarscents
  • cents值并用2 0填充它(那里有几十个字符串填充算法)
  • 使用货币符号,空格dollars,小数和填充cents
  • 重新组合字符串
  • 将其重新应用于文本框值

每次文本框更改时调用此函数。

更新:如果您定位的是最新的浏览器,则可以利用Intl库。它具有处理字符串,数字,日期和货币的国际化和本地化的工具。

要决定是否可以使用Intl库,请查看此支持图表

http://caniuse.com/#feat=internationalization