请帮我讲一下这个正则表达式

时间:2011-08-22 08:13:31

标签: javascript jquery regex jquery-selectors

我正在尝试使用所需的ID搜索输入。但似乎我的正则表达式不正确。请帮我纠正一下。还请建议我提高编码标准。 我会输入带有诸如a1_1,b1_1,c3_999,d4_777等ID的内容......这些内容会出现在<td>内。
我想要的是我需要通过ids的一些输入。
喜欢

   NoneArray=[a_1,c_3].  

所以我需要找到这些ID并分配一个类。为此,我使用下面的代码..

http://jsfiddle.net/nnQxN/

for(var i = 0;i < NoneArray.length;i++)
{
    var x = NoneArray[i]+"_";
    $('input').filter(function() { 
        return $(this).prop('id').match(^[''+x+''][0-9]{})
    }).addClass('xve');
}

请帮我解决这个问题。或者,请使用pushstackmap函数以其他方式建议我。

1 个答案:

答案 0 :(得分:0)

我认为你可以使用"starts with"选择器。我不确定您的HTML是如何构建的,但如果您要搜索的内容都在<div id="container">内,那么:

var NoneArray = ['a1', 'c3'];
$.each(NoneArray, function(i, pat) {
    $('#container').find('[id^=' + pat + '_]').addClass('xve');
});

实例:http://jsfiddle.net/ambiguous/MwqyS/

如果您只是在寻找<input>元素,那么这应该可行:

var NoneArray = ['a1', 'c3'];
$.each(NoneArray, function(i, pat) {
    $('input[id^=' + pat + '_]').addClass('xve');
});

实例:http://jsfiddle.net/ambiguous/tDTjh/