首页 > 解决方案 > 尝试编写一个小数点后 4 位的正则表达式

问题描述

我正在尝试在文本框 onkeypress 上进行验证。文本框应仅包含 5 位数的值,小数点后最多只能包含 4 位小数。例如,12345 ,12345.2345 .aspx

<input type="number" id='inpSurfIndN' value='' runat="server"  onkeypress="return isFloatNumber(this,event);" /> 

脚本

<Script>
function isFloatNumber(e, t) {
            var regex = /^[0-9]\d{0,4}(\.\d{1,4})?%?$/
            var regmatch = e.match(regex);
            if (regmatch == null) {
                alert("please fill right value");
                return false;
            }
        }
</Script>

我试过但没有得到正确的输出。任何想法如何纠正它都将不胜感激。

标签: javascriptjqueryasp.net

解决方案


尝试关注

   $('#inpSurfIndN').keypress(function() {
    this.value = this.value
      .replace(/[^\d.]/g, '')           
      .replace(/(^[\d]{4})[\d]/g, '$1')  
      .replace(/(\..*)\./g, '$1')        
      .replace(/(\.[\d]{3})./g, '$1');    
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" id='inpSurfIndN' value='' runat="server"  />


推荐阅读