需要正则表达式javascript的帮助,我尝试了几次,但是没有用
我想替换下面的字符串作为URL。下面的字符串中的值200、400是动态的url=http://www.test.com?debug=true&MAXWIDTH:200+MAXHEIGHT:400
与,900,900始终相同,结果应为
正则表达式后,我希望网址字符串包含以下值
url=http://www.test.com/?debug=true&MAXWIDTH:900+MAXHEIGHT:900
最佳答案
var replaceMaxWidthAndHeight = function(str, newWidthAndHeight) {
var i=0;
return str.replace(/\s*(MAXWIDTH|MAXHEIGHT)\s*:\s*(\d+)\s*/g, function(s, m1) {
return m1 + ':' + newWidthAndHeight[i++];
});
};
var s1 = "url=http://www.test.com/?debug=true&MAXWIDTH:200+MAXHEIGHT: 400";
var s2 = replaceMaxWidthAndHeight(s1, [900, 900]);
s2; // => "url=http://www.test.com/?debug=true&MAXWIDTH:900+MAXHEIGHT:900"
s2 = replaceMaxWidthAndHeight(s1, [10, 20]);
s2; // => "url=http://www.test.com/?debug=true&MAXWIDTH:10+MAXHEIGHT:20"