两位小数的正则表达式在JavaScript中不起作用。我错过什么了吗?

两位小数的正则表达式在JavaScript中不起作用。我错过什么了吗?,javascript,regex,Javascript,Regex,我使用正则表达式验证文本字段的输入,只允许整数或最多两位小数的数字(例如:10、10.4、10.45、100.45),但是当我输入一个小数点为3位或更多的数字时,它仍然会验证它。代码如下所示 var loanAmount = document.getElementById("loan_amount"); var loanRE = /\d+(\.\d{1,2})?/; if (!(loanRE.test(loanAmount.value))){ alert("Not a valid input

我使用正则表达式验证文本字段的输入,只允许整数或最多两位小数的数字(例如:10、10.4、10.45、100.45),但是当我输入一个小数点为3位或更多的数字时,它仍然会验证它。代码如下所示

var loanAmount = document.getElementById("loan_amount");

var loanRE = /\d+(\.\d{1,2})?/;

if (!(loanRE.test(loanAmount.value))){
alert("Not a valid input for the loan amount");
return false;
}

我觉得一切都很好。我错过了什么?

锚定你的正则表达式<代码>加载=/^\d+(\.\d{1,2})?$/

否则它只会说“好的,有一些数字。它通过了!”

尝试在