【问题标题】:Please help me with this regular expression请帮我解决这个正则表达式
【发布时间】:2011-08-22 16:29:06
【问题描述】:

我正在尝试使用所需的 id 搜索输入。但我的正则表达式似乎不正确。请帮我纠正它。还请建议我提高编码标准。 我将输入带有 id 的输入,例如..a1_1、b1_1、c3_999、d4_777 等...这些将在<td> 内。
我想要的是我需要一些带有传递 ID 的输入。
喜欢

   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 函数的任何其他方式。

【问题讨论】:

  • 如果你不确定你做对了,你可以试试这个 RegEx 生成器txt2re.com
  • 你能提供一些你期望的样本输入和样本输出吗?
  • Ya Shekhar,我在上面给出了 jsfiddle 链接。

标签: javascript jquery regex jquery-selectors


【解决方案1】:

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

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

现场示例:http://jsfiddle.net/ambiguous/MwqyS/

如果您只是在寻找 &lt;input&gt; 元素,那么这应该可以:

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

现场示例:http://jsfiddle.net/ambiguous/tDTjh/

【讨论】:

  • 非常感谢您的帮助 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-16
  • 2010-09-27
  • 1970-01-01
相关资源
最近更新 更多