Javascript 如何在我的所有应用程序中限制所有文本框条目-jquery

Javascript 如何在我的所有应用程序中限制所有文本框条目-jquery,javascript,jquery,Javascript,Jquery,这是小提琴 HTML 现在我想对所有文本框应用这个按键功能,而不仅仅是最后一个。如何编辑此函数以使其适用于所有用户 不能把他们所有的身份证都放在一起 必须使其适用于@html.textBoxFor-可以将DatanNotation置于模型中,这就是为什么你可以尝试使用此方法来应用所有输入文本框:Fiddle 您可以尝试使用此选项应用所有输入文本框:Fiddle 正如您所说(不能将所有Id都放在同一个),根据HTML,这是无效的,因为在一个页面中,不能对多个元素使用相同的Id。即使您将为两个

这是小提琴

HTML

现在我想对所有文本框应用这个按键功能,而不仅仅是最后一个。如何编辑此函数以使其适用于所有用户

不能把他们所有的身份证都放在一起


必须使其适用于@html.textBoxFor-可以将DatanNotation置于模型中,这就是为什么你可以尝试使用此方法来应用所有输入文本框:Fiddle


您可以尝试使用此选项应用所有输入文本框:Fiddle

正如您所说(不能将所有Id都放在同一个),根据HTML,这是无效的,因为在一个页面中,不能对多个元素使用相同的Id。即使您将为两个元素分配相同的Id,但在从客户端使用Id获取该元素时,它将从顶部获取DOM中找到的第一个元素

因此,在这种情况下,将一个公共类分配给要应用该正则表达式的所有文本框,然后将该公共类上的keypress事件绑定为选择器

HTML

我希望这对您有用:)

正如您所说(不能将所有Id都放在同一个位置上),这对于HTML来说是无效的,因为在一个页面中,您不能对多个元素使用相同的Id。即使您将为两个元素分配相同的Id,但在从客户端使用Id获取该元素时,它将从顶部获取DOM中找到的第一个元素

因此,在这种情况下,将一个公共类分配给要应用该正则表达式的所有文本框,然后将该公共类上的keypress事件绑定为选择器

HTML


我希望这对您有用:)

如果文本框在asp.NET的弹出窗口或部分视图中,则无法使ti工作。您可以使用弹出窗口检查它。fiddle示例无法使ti工作,如果文本框在asp.NET的弹出窗口或部分视图中,您可以使用弹出窗口检查它。小提琴示例
<input class="anything" type="text">
<input type="text">
<input id="someid" type="text">
<input type="text">
<input id="someotherid" type="text">
<input type="text">
<input type ="text">
<br />
<br />
<br />
working one
<input id="text" type="text">
$('#text').keypress(function (e) {
    var regex = new RegExp("^[a-zA-Z0-9-]+$");
    var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (regex.test(str)) {
        return true;
    }    
    e.preventDefault();
    return false;
});
$('input[type="text"]').keypress(function (e) {
    var regex = new RegExp("^[a-zA-Z0-9-]+$");
    var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (regex.test(str)) {
        return true;
    }

    e.preventDefault();
    return false;
});
<input class="textClass anything" type="text">
<input class="textClass" type="text">
<input class="textClass" id="someid" type="text">
<input class="textClass" type="text">
<input class="textClass" id="someotherid" type="text">
<input class="textClass" type="text">
<input class="textClass" type="text">
<br />
<br />
<br />
working one
<input class="textClass" id ="text" type="text">
$('.textClass').keypress(function (e) {
    var regex = new RegExp("^[a-zA-Z0-9-]+$");
    var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (regex.test(str)) {
        return true;
    }
    e.preventDefault();
    return false;
});
Just change your selector to "input:text" if you are using textbox 
$('input:text').keypress(function (e) {
    var regex = new RegExp("^[a-zA-Z0-9-]+$");
    var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
    if (regex.test(str)) {
        return true;
    }

    e.preventDefault();
    return false;
});