首页 > 解决方案 > 验证文本框只允许数字,没有特殊字符或字母

问题描述

我重新编辑了我之前的问题,但没有看到我的新问题被发布,所以我重新发布。我道歉。

我对编程很陌生,迫切需要帮助。我正在使用带有 C# (Visual Studio 2017) 的 Asp.net。我需要创建一个只允许 4 位数字、空格键和退格键的文本框。不允许使用特殊字符或字母。范围必须在 1899 年到当前年份之间。并且它需要验证在文本框中输入的年份是否在 1899-2021 之间。并且当在文本框中输入错误的年份时,我需要一条弹出消息说“无效年份”。我尝试了很多方法,但没有任何效果。有没有人有我可以使用的代码,请清楚我需要在哪里插入它们。以下是我尝试过的一组示例代码。但是,对于这个,我需要代码来允许空格键并且只允许 4 位数字。我还需要知道我应该在哪里插入这些代码。这段代码的问题是它有一个我不需要的向上向下按钮。希望这是有道理的。谢谢!

<script type = "text/javascript">

  function isValidYear() {

        var year = document.getElementById('tbxYear').value;

      
        if (year > 2021 || year < 1899) {

            alert("Range 1899 - 2021");

            return false;

        }

        return true;

     }

</script>
                          

<asp:TextBox ID="tbxYear" runat="server" 
ClientIDMode="Static" type="number" min="1899" 
max="2021" step="1" onchange="isValidYear()" onpaste = "return false;" 
BorderColor="Black" CausesValidation="True" CssClass="auto-style8" 
Font-Names="Arial" Height="25px" MaxLength="4" ValidateRequestMode="Enabled" 
ValidationGroup="check" Width="147px"> 
</asp:TextBox>&nbsp;
<span class="auto-style16">
<span class="auto-style15">
<b><span style="font-size: small; font-family: Arial; color: #FF0000">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

标签: javascriptc#asp.net

解决方案


你可以使用正则表达式来检查它

var reg = /^\d+$/;

推荐阅读