测试有效的货币值

时间:2014-07-02 09:30:14

标签: javascript jquery regex

我有一个有货币输入的表格。

我想检查输入的值是否为有效货币(仅限数字)。

有效的例子:

1
10
100
1000
10000
etc.
1.00
10.00
100.00
1000.00
10000.00
etc
1,000
10,000
etc
1,000.00
10,000.00
etc

我还没能找到我在网上寻找的东西,而且我的正则表达式很弱 - 我怎么能这样做?

编辑:

我打算简单地替换','和'。'然后测试余数是否为数字,但这会验证如下内容:

1,0000,00,000 10.00.00 etc

我想测试人类会识别的数字。此外,该号码不应包含货币符号

3 个答案:

答案 0 :(得分:2)

试试这个正则表达式

/^((\d{0,3}(,\d{3})+)|\d+)(\.\d{2})?$/

测试用例 http://repl.it/UpC

答案 1 :(得分:1)

var cur = $("input#currency").val();
if(cur.match(/^\d+$/)) {
    // your code here
}

答案 2 :(得分:0)

此验证功能正常。我在JQuery Validator代码中找到了RegEx。

function isValidNum(num) {
    var reg=/^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/;
    return reg.test(num) && (num.split(".").length < 3);
}

编辑有一个错误,允许多个&#39;。&#39;,在数字中。