【问题标题】:How could i make a textbox that accepts only numeric values? [duplicate]我怎样才能制作一个只接受数值的文本框? [复制]
【发布时间】:2014-04-14 16:23:18
【问题描述】:

我想制作一个只允许输入数值的文本框。 如何做到这一点?

【问题讨论】:

    标签: c# asp.net validation


    【解决方案1】:

    试试下面的代码

    <asp:TextBox ID="txtID" runat="server"></asp:TextBox>
    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationGroup="VGrpSave" SetFocusOnError="false" Display="None" ErrorMessage="Only numeric values are allowed" ControlToValidate="txtID" ValidationExpression="\d*"></asp:RegularExpressionValidator>
    <asp:Button ID="btnSubmit" runat="server" ValidationGroup="VGrpSave" Text="Submit"></asp:Button>
    <asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List" ShowMessageBox="True" ShowSummary="false" ValidationGroup="VGrpSave" />
    

    【讨论】:

      【解决方案2】:

      使用RegularExpressionValidator

      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
      <asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="Only Numbers allowed" ValidationExpression="\d+"></asp:RegularExpressionValidator>
      

      How to allow only integers in a textbox?

      【讨论】:

        【解决方案3】:

        亲爱的,你可以通过 jquery 来做到这一点,如果你正在使用 jquery,试试这个

        $(document).ready(function() {
        $("#txtboxToFilter").keydown(function (e) {
            // Allow: backspace, delete, tab, escape, enter and .
            if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
                 // Allow: Ctrl+A
                (e.keyCode == 65 && e.ctrlKey === true) || 
                 // Allow: home, end, left, right
                (e.keyCode >= 35 && e.keyCode <= 39)) {
                     // let it happen, don't do anything
                     return;
            }
            // Ensure that it is a number and stop the keypress
            if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
                e.preventDefault();
            }
        });
        });
        

        【讨论】:

        • 为什么选择 JQUERY? OP 没有标记它!
        • 亲爱的建议,如果它对他有好处,那么他会按照我在回答中的要求接受它,如果你使用 jquery 然后使用它
        • 谢谢。我没有 Jquery 的知识,我只是编程的新手,具有 C#、Sql Server 的先验知识。虽然我很感激你的帮助。
        【解决方案4】:

        在 ASP.NET 中试试这个:

        <asp:CompareValidator runat="server" Operator="DataTypeCheck" Type="Integer" 
         ControlToValidate="TxtBox" ErrorMessage=Error" />
        

        【讨论】:

          【解决方案5】:

          您可以使用 ASP.NET 正则表达式验证器并编写一个只接受数值的 RegEx。

          如果你想拦截击键,只输入数字键,你必须使用 JavaScript(我不会这样做)。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-12-04
            • 2021-07-30
            • 2021-08-22
            • 1970-01-01
            • 2011-09-10
            • 2019-06-21
            • 2019-10-21
            相关资源
            最近更新 更多