限制小数点前后'n'位的正则表达式

Gop*_*esh 4 javascript regex validation jquery

我需要一个正则表达式来限制小数点前 10 位和小数点后 2 位。我试过这个

if (!(/^\d{1,10}(\.$|\.\d{1,2}$|$)/).test(value)) {
  event.preventDefault();
  event.stopPropagation();
}
<input id="input" type="number" />
Run Code Online (Sandbox Code Playgroud)

它适用于输入类型text。但它不适用于类型 number。

工作小提琴

请帮我解决这个问题

小智 7

要限制小数点前后的小数位,这应该有效:

function ValidateDecimalInputs(e) {

    var beforeDecimal =3;
    var afterDecimal = 2;
   
    $('#'+e.id).on('input', function () {
        this.value = this.value
          .replace(/[^\d.]/g, '')            
          .replace(new RegExp("(^[\\d]{" + beforeDecimal + "})[\\d]", "g"), '$1') 
          .replace(/(\..*)\./g, '$1')         
          .replace(new RegExp("(\\.[\\d]{" + afterDecimal + "}).", "g"), '$1');   
    });
    }
 
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id = "textBox" onclick="ValidateDecimalInputs(this)"/>
Run Code Online (Sandbox Code Playgroud)