Javascript reg ex表达式查找并替换[]内的数字

Javascript reg ex表达式查找并替换[]内的数字,javascript,regex,Javascript,Regex,我有这样一个输入: <input type="hidden" value="0.0" name ="sale[sales_details_attributes][1][tax]"> 有一种方法可以得到1,然后用正则表达式增加1 最好的方法是将数字提取为字符串,将其转换为数字,然后将toString()与replace结合使用 var input_string = "sale[sales_details_attributes][3434][tax]"; var number = Nu

我有这样一个输入:

<input type="hidden" value="0.0" name ="sale[sales_details_attributes][1][tax]">

有一种方法可以得到1,然后用正则表达式增加1

最好的方法是将数字提取为字符串,将其转换为数字,然后将
toString()
replace
结合使用

var input_string = "sale[sales_details_attributes][3434][tax]";
var number = Number(input_string.match(/(\d+)/)[0]);
input_string.replace(number.toString(), (number+1).toString())

这应该适用于大多数数字。但是,它假设在您的
输入字符串中只有一个数字实例

最好的方法是将数字提取为字符串,将其转换为数字,然后将
toString()
replace
结合使用

var input_string = "sale[sales_details_attributes][3434][tax]";
var number = Number(input_string.match(/(\d+)/)[0]);
input_string.replace(number.toString(), (number+1).toString())
这应该适用于大多数数字。但是,它假定在您的
输入字符串中只有一个数字实例

使用
string.replace()
。参考:

var name=“销售[销售详情\属性][123][tax]”;
var str=name.replace(/\[(\d+)\]/,函数(匹配,p1){
返回“[”+(parseInt(p1,10)+1)+”];
});
警报(str)使用
String.replace()
。参考:

var name=“销售[销售详情\属性][123][tax]”;
var str=name.replace(/\[(\d+)\]/,函数(匹配,p1){
返回“[”+(parseInt(p1,10)+1)+”];
});

警报(str)
这很简单,只需
[1]
-但您是否需要一个可以增加任何数字的解决方案?是的,但实际上我不知道[]内的数字是什么,这只是解释,我编辑了我的问题,对不起?这很简单,只需
[1]
-但您是否需要一个可以增加任何数字的解决方案?是的,但实际上我不知道[]中的数字是什么,这只是解释,我编辑了我的问题,对不起?是的,但事实上我不知道[]里面是什么数字,这只是解释,我编辑了我的问题,对不起。@Josemiguellelón更新以适应新问题。是的,但事实上我不知道[]里面是什么数字,这只是解释,我编辑了我的问题,抱歉。@JoseMiguelLedón已更新以满足新问题。@JoseMiguelLedón如果答案对您有效,请接受答案,以便其他用户可以轻松查看。谢谢@Josemiguellelón如果答案对您有效,请接受答案,以便其他用户可以轻松看到。谢谢
var name = $(this).attr("name");
var num = 1 + (1*name.replace(/.*\[(\d+)\].*/, "$1"));
$(this).attr("name",name.replace(/\[(\d+)\]/, "["+num+"]"));