如何使用JavaScript验证货币价值?

时间:2009-05-10 11:00:45

标签: javascript

我在页面中有一些输入字段,我想验证它们是否包含货币值,如100美元或欧元。

任何人都有想法或榜样?

2 个答案:

答案 0 :(得分:7)

这里的问题有三个:

  1. lot of currency symbols;
  2. 货币有相同的符号(例如,美元或澳元或美元);和
  3. 写作数字的区域差异(例如,英语为3,000.00,德语为3'000,00)。
  4. 我的建议?只需拿数字而忘记货币符号。然而,如果检测货币是整点,那么要么单独选择,要么至少需要实现上述货币列表的一部分加上区域差异。

答案 1 :(得分:2)

正则表达式可以为您验证:

/[\$£¥]\d+(\.\d\d)?/

(但欧元也在那里签到)

我给出的这个不会是最强大的方法。你可以改变你的偏好。另一种方法是尝试这样的事情:

var myString = "$55.32",
    currency = parseFloat(myString.replace(/^[^\d\.]*/, ''))
    valid = !isNaN(currency)
;

它从开头删除任何非数字或.个字符,然后将其解析为浮点数。