需要正则表达式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"

07-26 08:13