0

它将用于 21.22 或 1.11 或其他东西.. 但错误是它允许数字前面的点并且它允许多个点,例如 123.2.2

<HTML>
<HEAD>
    <script type="text/Javascript">
function testNum(inval)
{
 var ex = /^\d*(?:\.\d{0,2})?$/;
 if(ex.test(inval.value)==false){
   inval.value = inval.value.substring(0,inval.value.length - 1);
  }
}
</script>  </HEAD>   <BODY>
 <input type="text" id="" onkeyup="testNum(this);" />
</BODY>
</HTML>
4

2 回答 2

2

更改\d*\d+(+相当于{1,}) 以确保您的点前至少有一位数字。

至于多点问题,不,它不匹配几个点。

此外,您可能希望将您的更改\d{0,2}\d{1,2},例如匹配 12. 并没有任何意义。

于 2013-04-11T14:20:57.130 回答
0

它似乎不允许我使用多个点,但这\d*意味着起始数字是(是)可选的。

/^\d+(?:\.\d{0,2})?$/
于 2013-04-11T14:22:01.713 回答