javascript - jQuery 搜索替换字符串

标签 javascript jquery replace

我正在尝试重命名克隆函数中的某些字段,但我不确定如何重命名(增加)字段名称。

var tr = $copy.clone();
tr('input').each(function() {
  console.log(this.name); 
  this.name = something;
});

字段名称示例:

field[subform][0][subsubform][2][name]

在这种情况下,我需要将 [2] 增加到 [3]。该名称可以有更多或更少的括号,但我总是需要增加倒数第二个括号。

我该如何去做呢?

最佳答案

正则表达式很有趣。匹配模式 [number][string]end of line,读取数字,加一,连接匹配的其他部分,并设置新名称。

$(tr).find("input").prop("name", function() {
    return this.name.replace(
        /\[(\d+)(\]\[[^[]+]$)/,
        function (a,b,c) { 
            return "[" + (parseInt(b,10)+1) + "]" +  c;
        }
    )
});

关于javascript - jQuery 搜索替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13846268/

相关文章:

javascript - NodeJs 基于 CSV 输入创建动态 mySql 表

javascript - 使用 javascript/lodash 遍历嵌套对象数组

javascript - 理解为什么滚动动画有效

Java String.replaceAll 正则表达式

javascript - jquery 侧边导航在移动设备上不流畅

javascript - 谷歌地图中纬度和经度的最大长度

javascript - 向 Yii 菜单项添加确认

jquery - 为什么我的 bootstrap 轮播不能正常工作?

bash - 从文件中替换 IP 地址

java - 我无法让 Replace/replaceAll 工作