<input type="text" name="data[546c8157fcc404ca04951022][5476bddb4a1bfef2128b4567][exp][apr]">
我想提取数组的第二部分并替换为0
。怎么办呢?
预期输出
<input type="text" name="data[546c8157fcc404ca04951022][0][exp][apr]">
我尝试了替换和子串函数,但没有运气。请帮帮我。
答案 0 :(得分:1)
^(.*?\[[^\]]+\])\[[^\]]+\]
试试这个。$1[0]
。见。演示。
http://regex101.com/r/yR3mM3/47
var re = /^(.*?\[[^\]]+\])\[[^\]]+\]/gi;
var str = '<input type="text" name="data[546c8157fcc404ca04951022][5476bddb4a1bfef2128b4567][exp[apr]">';
var subst = '$1[0]';
var result = str.replace(re, subst);
答案 1 :(得分:1)
尝试:
var element = $('<input type="text" name="data[546c8157fcc404ca04951022][5476bddb4a1bfef2128b4567][exp][apr]">');
var parts = element.attr('name').split('][');
parts[1] = 0;
element.attr('name', parts.join(']['));
输出:
<input type="text" name="data[546c8157fcc404ca04951022][0][exp][apr]">