JS实现输入框数字验证及指定小数位数控制

作者:代码拾荒时间:2026-10-22 14:11:09浏览:76

本文介绍如何使用JavaScript函数validationNumber对用户输入的数字进行实时校验,并通过正则表达式限制整数或指定保留的小数位数。示例展示了如何在ASP.NET TextBox中调用该函数,实现输入非法字符自动清除及小数位超限截断功能。

数字验证函数定义

定义一个名为validationNumber的验证函数,该函数接收两个参数:e代表当前操作的标签对象,num代表需要保留的小数位数。

核心验证代码


function validationNumber(e, num) {
      var regu = /^[0-9]+\.?[0-9]*$/;
      if (e.value != "") {
        if (!regu.test(e.value)) {
          alert("请输入正确的数字");
          e.value = e.value.substring(0, e.value.length - 1);
          e.focus();
        } else {
          if (num == 0) {
            if (e.value.indexOf('.') > -1) {
              e.value = e.value.substring(0, e.value.length - 1);
              e.focus();
            }
          }
          if (e.value.indexOf('.') > -1) {
            if (e.value.split('.')[1].length > num) {
              e.value = e.value.substring(0, e.value.length - 1);
              e.focus();
            }
          }

        }
      }
    }

整数验证实现

首先处理整数验证的逻辑。

整数输入框示例


<asp:TextBox ID="txtNg" name="txtNg" runat="server" Height="16px" Width="98px" Font-Size="9pt"
   CssClass="EditTextBox" onpropertychange="validationNumber(this,0)"></asp:TextBox>

一位小数验证实现

接着处理保留一位小数的验证逻辑。

一位小数输入框示例


<asp:TextBox ID="txtChglinecost" name="txtChglinecost" runat="server" Height="16px" Width="98px" Font-Size="9pt" 
   CssClass="EditTextBox" onpropertychange="validationNumber(this,1)"></asp:TextBox>

两位小数验证实现

然后处理保留两位小数的验证逻辑。

两位小数输入框示例


<asp:TextBox ID="txtStdyr" name="txtStdyr" runat="server" Height="16px" Width="98px" Font-Size="9pt" 
   CssClass="EditTextBox" onpropertychange="validationNumber(this,2)"></asp:TextBox>

三位小数及其他位数说明

以保留三位小数为例进行说明。

只需将 validationNumber(this,3) 方法中的第二个参数修改为3,即可实现三位小数的验证。

同理,若需保留四位或五位小数,只需相应调整参数即可类推实现。

对上述内容进行总结。

以上内容介绍了JavaScript验证输入是否为数字及控制小数位数的方法,希望能为读者提供帮助。如有疑问欢迎留言,小编会及时回复。感谢大家对本站的支持。

作者最新文章