我正在尝试对输入字段进行检查,以确定用户是否输入了分数。如果他们没有我抛出错误。
示例:
var paymentAmount = 1
if(paymentAmount.indexOf('.') == -1 ) error("Please add cent amount");
以上适用于该示例,但如果用户错误地添加2位小数,该怎么办?我希望能够检查它。
var paymentAmount = 1.00.2
在上面的场景中,只会检测到第一个indexOf小数。
我还需要检查他们是否实际输入了小数点后的分数。
这三项检查的最佳方法是什么?
答案 0 :(得分:3)
您可以使用正则表达式:
if (/^\d+(\.\d{2})?$/.test(paymentAmount)) {
// Do something
}
答案 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
}