用s对j进行jquery验证

时间:2014-05-05 10:52:11

标签: jquery

我想验证一个文本框,只接受ID属性以数字开头的数字值 v1_1,v1_2等

以下代码仅使用id_1验证。 如何验证所有ID_?

$("#id_1").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();
        }
    });

4 个答案:

答案 0 :(得分:2)

您可以为具有id stats的所有输入编写单个keydown事件绑定代码,其中包含'id _...

见下面的代码

$("[id^='id_']").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();
        }
    });

您可以将此选择器用于名称,类或任何其他属性。请参阅this链接。

答案 1 :(得分:0)

尝试使用attribute starts with selector

$("[id^='id_']").keydown(function (e) 

或最佳且有效的选项是为这些元素添加公共class并使用class selector而非使用attribute starts with selector

答案 2 :(得分:0)

使用attribute selector ^从元素开始。

$("[id^='id-']").keydown(function (e) 

[attribute^=value] 选择器用于选择属性值以指定值开头的元素。

答案 3 :(得分:0)

使用 attribute selector ^=

$("[id^='id_']").keydown(function (e)