javascript - 如何使用 javascript 或 jquery 限制字段中输入的字符数?

标签 javascript jquery asp.net validation

我为输入文本字段编写了一个验证代码,它只接受数字和一些控制键。我从 stackoverclow 那里得到了帮助 :),所以我又来这里寻求帮助了。我的验证码是

 $("#txtLevel1Year").keydown(function(event)
            {
                // Allow only backspace,delete,left arrow,right arraow and Tab
                if ( event.keyCode == 46 
                    || event.keyCode == 8 
                    || event.keyCode == 37 
                    || event.keyCode == 39 
                    || event.keyCode == 9)
                    {
                    // let it happen, don't do anything
                    }
                    else {
                        // Ensure that it is a number and stop the keypress
                        if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode <96 ||event.keyCode > 105) ) {
                            event.preventDefault(); 
                        }   
                    }
            });

现在让我告诉你我在找什么,首先,我想限制这个字段正好取4位数字。不多不少,第二个是关于优化。 我希望此验证起作用的文本字段是(是)

<asp:TextBox runat="server" ID="txtLevel1Year" Width="50px" TabIndex="13"></asp:TextBox>  
                        <asp:TextBox runat="server" ID="txtLevel2Year" Width="50px" TabIndex="17"></asp:TextBox>  
                        <asp:TextBox runat="server" ID="txtLevel3Year" Width="50px" TabIndex="21"></asp:TextBox>  
                        <asp:TextBox runat="server" ID="txtLevel4Year" Width="50px" TabIndex="25"></asp:TextBox>  

在这里,我可以通过抓取四个不同的 ID 来重复验证代码 4 次以完成这项工作,尽管验证完全相同。我能做些什么来消除这种重复吗?如果您不清楚我的问题,请告诉我。 提前谢谢大家。 这是这个问题的编辑部分我已经通过创建一个 CSS 类并在我放置全年文本框的 div 中调用它来实现优化的目标。但是我限制它正好是 4 位数字的限制尚未解决。请帮我。

最佳答案

我假设您的验证有效。诀窍是为所有文本框添加一个类。说类名是

.validateTB

然后修改你的脚本如下

$(".validateTB").keydown(function(event)
        {
            // Allow only backspace,delete,left arrow,right arraow and Tab
            if ( event.keyCode == 46 
                || event.keyCode == 8 
                || event.keyCode == 37 
                || event.keyCode == 39 
                || event.keyCode == 9)
                {
                // let it happen, don't do anything
                }
                else {
                    // Ensure that it is a number and stop the keypress
                    if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode   <96 ||event.keyCode > 105) ) {
                        event.preventDefault(); 
                    }   
                }
        });

请注意,脚本中仅更改了选择器。

关于javascript - 如何使用 javascript 或 jquery 限制字段中输入的字符数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6789089/

相关文章:

javascript - 如何使用 AngularJS 制作基于单选按钮值的下拉列表?

在 jsfiddle 上找不到 JavaScript 函数

javascript - 为什么我的一些按钮在 html5 Canvas 上不能正常工作?

javascript - 本地图滚动到 View 中时动画谷歌地图标记

javascript - 从 JQuery UI Popup 获取数据返回到表单

javascript - 带有对象数组的多重选择和 v-model

单击提交按钮时,JavaScript 检查并动态向表中添加文本

php - 通过 jQuery Ajax 发送 Json 数组

c# - 在 C# 中将 SqlDataReader 列值转换为 json 字符串

c# - ASP.Net MVC 5 - 解决方案架构 - 分离关注点的区域 - 进一步分离