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

How to increment a number within square brackets in Javascript

本文关键字:方括号 数字 增加 Javascript      更新时间:2024-03-08

我有一个长字符串,需要增加其中的每个数字,使文本的其余部分保持原样。

我正在使用这个功能

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="">

我用这个例子来尝试和帮助,我也尝试了一些变体,但我的正则表达式技能让我失败了

非常感谢任何协助。

您的模式中没有任何东西会导致所描述的行为-方括号中的数字也应该受到影响。一个明显的问题是,您只影响找到的第一个数字,而不是所有数字——在模式的右斜杠后面添加g全局标志。

对我有用-请参阅Fiddle:http://jsfiddle.net/ypUmg/

您需要使用"global"标志,然后它应该替换所有出现的情况。

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

请在此处查看它的工作情况:http://jsfiddle.net/4S7CE/

如果没有"g",它将只替换匹配的第一个实例。