检查付款金额的分数

时间:2013-07-16 14:45:10

标签: jquery

我正在尝试对输入字段进行检查,以确定用户是否输入了分数。如果他们没有我抛出错误。

示例:

var paymentAmount = 1
if(paymentAmount.indexOf('.') == -1 ) error("Please add cent amount");

以上适用于该示例,但如果用户错误地添加2位小数,该怎么办?我希望能够检查它。

var paymentAmount = 1.00.2

在上面的场景中,只会检测到第一个indexOf小数。

我还需要检查他们是否实际输入了小数点后的分数。

这三项检查的最佳方法是什么?

4 个答案:

答案 0 :(得分:3)

您可以使用正则表达式:

if (/^\d+(\.\d{2})?$/.test(paymentAmount)) {
    // Do something
}

Here is a working jsFiddle

答案 1 :(得分:1)

您可以尝试这样的事情:

function validateDecimal(value) {
   var regex = new RegExp(/^\d*\.\d\d$/);
   if (regex.test(value)) {
        return true;
   } else {
       return false;
   }
}

if (validateDecimal(paymentAmount)) {
    //do something
}

答案 2 :(得分:1)

var paymentAmount = parseFloat('1.00.0');
if ( paymentAmount % 1 === 0 ) {
    console.log('Cents required');
}

答案 3 :(得分:0)

if (Math.floor(paymentAmount) == paymentAmount) {
    //it's a whole number
}