使用javascript验证带有数字的文本框

Validation of textbox with numbers using javascript

本文关键字:文本 数字 javascript 验证 使用      更新时间:2023-09-26

如何防止或验证用户使用javascript在文本框中输入带范围的6位数字(例如:100000)和两位小数?我在我的文本框中使用onkeypress事件,我的代码是:

      var txtBudget = document.getElementById('MainContent_txtBudget');
        txtBudget.addEventListener('keypress', function (evt)
        {  
        var value = this.value + String.fromCharCode(evt.which);
        if (!/^'d{0,6}(?:'.'d{0,2})?$/.test(value)) 
           {   
             evt.preventDefault();
           }
       },
 false);​

HTML5 input type='number'不需要使用javascript进行验证。例如,如果您想要一个介于100000.00和200000之间的数字,并带有两个十进制数字,请在HTML 中使用此数字

Number: <input type="number" name="number" min="100000.00" max="200000" step='0.01'/>

我想知道为什么不使用Asp.net工具箱中的RegularExpression控件。看看这个样品:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="TextBox1"
 runat="server" ValidationExpression="^'d{1,6}('.'d{1,2})?$" ErrorMessage="Only 6 digit numbers allowed"></asp:RegularExpressionValidator>

如果我的ValidationExpression错误,请访问此链接进行选择:查找任何正则表达式

我想你想要这样的东西,调用此函数onKeyPress文本框的事件

 function test()
    {
      var obj=document.getElementById('textbox1');
      if(obj.value)
      {
            if(isNaN(obj.value)) 
            {
               alert('Please enter only numbers');
                return;
            }
      }
    }