提取字符串jQuery的一部分

时间:2014-12-04 11:50:37

标签: jquery regex

<input type="text" name="data[546c8157fcc404ca04951022][5476bddb4a1bfef2128b4567][exp][apr]">

我想提取数组的第二部分并替换为0。怎么办呢?

预期输出

<input type="text" name="data[546c8157fcc404ca04951022][0][exp][apr]">

我尝试了替换和子串函数,但没有运气。请帮帮我。

2 个答案:

答案 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]">