使用jQuery获取每个html输入的最后一个括号名称

时间:2013-11-23 02:03:56

标签: javascript jquery regex forms

我需要从文本类型的每个输入中获取最后一个括号名称。

例如:

<input type='text' name='order[bill_address_attributes][firstname]' />
<input type='text' name='order[bill_address_attributes][lastname]' />
<input type='text' name='order[bill_address_attributes][phone]' />

通缉结果:

firstname
lastname
phone

我可以通过使用name

循环来获取属性$('input').each()的完整字符串值

我是否需要使用正则表达式修改.each()中的输出字符串,或者使用jQuery有更好的方法吗?

2 个答案:

答案 0 :(得分:5)

fiddle Demo

var arr =$('input').map(function(){
    return (/\]\[(.+)\]$/g).exec($(this).prop('name'))[1];
}).get();
console.log(arr); //arr is array if you want to convert it to string use arr.join(' ')

<小时/> 使用RegEXp

/\]\[(.+)\]$/g

答案 1 :(得分:2)

您可以在.each()循环中不使用RegExp执行此操作:

$('input:text').each(function(index, value) {
    console.log($(value).attr('name').split('[').pop().replace(']', ''));  
});

这将打印控制台每个输入的最后一组括号中的值。

此处的完整示例:http://jsfiddle.net/jt2Mu/