Jquery 在字符串中间增加一个数字

Jquery 在字符串中间增加一个数字,jquery,regex,attr,Jquery,Regex,Attr,我有一系列字符串add[0][types],add[0][name]等(用PHP表单$\u POST生成一个数组) 我需要拉出[0]并使其成为[1] 我已经基于一些其他回复构建了一个regex函数,但它没有改变属性,我不确定我的函数语法是否正确: newrow.find('input, select').each(function(){ $(this).attr('name', function(i, val){return val.replace( /\\d+/, function

我有一系列字符串
add[0][types]
add[0][name]
等(用PHP表单$\u POST生成一个数组)

我需要拉出
[0]
并使其成为
[1]

我已经基于一些其他回复构建了一个regex函数,但它没有改变属性,我不确定我的函数语法是否正确:

newrow.find('input, select').each(function(){
  $(this).attr('name', function(i, val){return val.replace(
    /\\d+/, function(n){ return ++n; });
  });
});

我觉得你的正则表达式有点不对劲。您还可以通过删除
来缩短代码。每个
都有利于采用函数的重载(您已经在使用,略有不同):


示例:

+1,但是OP也使用函数作为
attr
的第二个参数,问题主要出在不正确的正则表达式中。@VisioN:对(我会澄清),但他/她没有利用它可以代替
的事实。每个

newrow.find('input, select').attr('name', function(i, val) {
    return val.replace(/\d+/, function(n) {
        return ++n;
    });
});