[英]Replace character in a string using RegEx JS
我有许多输入名称,最后一位数字发生了变化:
<input name="ProductsLang[1][text][0]">
<input name="ProductsLang[1][text][1]">
<input name="ProductsLang[1][text][2]">
我正在动态添加新输入,我需要相应地重新计算所有索引,因为我可能会在两者之间添加一个。 所以我有一个带有正则表达式的小函数来替换它们:
$('input').each(function(i) {
var matches = $(this).attr('name').match(/ProductsLang\[\d+\]\[[^\]]+\]\[(\d+)\]/);
var newName = $(this).attr('name').replace(matches[1], i);
$(this).attr('name', newName);
});
它的工作很奇怪......而不是改变最后一位我可以得到这样的结果:
<input name="ProductsLang[1][text][0]">
<input name="ProductsLang[1][text][1]">
<input name="ProductsLang[2][text][1]">
<input name="ProductsLang[1][text][3]">
为什么替换会这样? 帮我弄清楚。 我需要的只是增加最后一位数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.