需要有关正则表达式和javascript的帮助

时间:2011-04-08 13:41:17

标签: javascript regex

我遇到了以下问题:我使用克隆脚本来克隆用于cms选项的输入字段。根据字段名称,在db中创建选项数组。

我现在有以下字段:

options[categories][1][3]

并希望使用计数器变量增加第一个数字,如:

options[categories][2][3]

options[categories][3][3]

...

但是我不熟悉正则表达式,所以我希望有人可以提供一个str.replace代码,帮助我用我的计数器变量替换第一个数字。

提前致谢!

....... 码: .......

目前它看起来像:

if ( $(clone).attr('name') ){
                newid = $(clone).attr('name');
                var position = newid.lastIndexOf("[");

                newid = newid.substring(0, position)+ '[' + (counter +1) + ']';
                $(clone).attr('name', newid);
            };      

Html字段:

<input type="checkbox" value="1" name="options[categories][1][3]">

3是类别ID,1是我需要的类别选项。克隆脚本将生成:

<input type="checkbox" value="1" name="options[categories][1][4]"> 

目前 - 但我需要:

<input type="checkbox" value="1" name="options[categories][2][3]">

我认为这是一个正则表达式问题,因为最简单的解决方案是搜索[categories] [anyvalue]并将其替换为[categories] [counter]

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式替换括号中的第一个数字。像这样:

if ( $(clone).attr('name') ) {
    var newid = $(clone).attr('name');
    newid = newid.replace(/\[[0-9]*\]/, '[' + (counter + 1) + ']');
    $(clone).attr('name', newid);
};