如何在Javascript中增加方括号内的数字

时间:2012-07-27 10:32:01

标签: javascript regex

我有一个长字符串,我需要递增其中的每个数字,保留文本的其余部分。

我正在使用此功能

newHtml = newHtml.replace(/\d+/, function (val) { return parseInt(val) + 1; });

这对于自由文本中的数字很有用,但是当数字被方括号括起时会失败。例如:

<input id="Form[0]_Phone" name="Form[0].Phone" type="text" value="">

需要成为

<input id="Form[1]_Phone" name="Form[1].Phone" type="text" value="">

我已经使用this example尝试和帮助,我尝试了一些变化,但我的正则表达式技能让我失望。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

你需要使用'global'标志,然后它应该替换所有出现。

newHtml = newHtml.replace(/\d+/g, function (val) { return parseInt(val) + 1; });

看到它在这里工作: http://jsfiddle.net/4S7CE/

没有'g',它只会替换匹配的第一个实例。