验证文本框只允许数字,没有特殊字符或字母[重复]
Posted
技术标签:
【中文标题】验证文本框只允许数字,没有特殊字符或字母[重复]【英文标题】:asp.net validation to make sure textbox has integer values 【发布时间】:2021-06-21 17:58:39 【问题描述】:我重新编辑了我之前的问题,但没有看到我的新问题被发布,所以我重新发布。我很抱歉。
我对编程非常陌生,迫切需要帮助。我正在使用带有 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>
<span class="auto-style16">
<span class="auto-style15">
<b><span style="font-size: small; font-family: Arial; color: #FF0000">
【问题讨论】:
欢迎来到 ***!您使用的是 ASP.NET Framework 还是 ASP.NET Core?正则表达式可以解决问题,但您需要限制字符。一个简单的辅助方法应该可以工作。我想我有一个可以帮助您解决问题。 您可以使用RegularExpressionValidator,这是一个不错的选择。\d4
可能是唯一的解决方案。
【参考方案1】:
你可以使用正则表达式来检查它
var reg = /^\d+$/;
【讨论】:
是否将值限制为 4 位? 你可以使用 reg /^SW\d4$/ 在哪里以及如何使用它? 请检查以下代码:当满足此条件时,调用 z.length === 4 检查您的年份长度if(!/^[0-9]+$/.test(z)) alert("Please only enter numeric characters only for your Age! (Allowed input:0-9)")
以上是关于验证文本框只允许数字,没有特殊字符或字母[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何验证文本框只允许 c#.net 中的第一个字符大写字母?