JS 修改URL参数(实现代码)

复制代码 代码如下:

  function changeURLPar(url, ref, value) {

  var str = "";

  if (url.indexOf('?') != -1)

  str = url.substr(url.indexOf('?') + 1);

  else

  return url + "?" + ref + "=" + value;

  var returnurl = "";

  var setparam = "";

  var arr;

  var modify = "0";

  if (str.indexOf('&') != -1) {

  arr = str.split('&');

  for (i in arr) {

  if (arr[i].split('=')[0] == ref) {

  setparam = value;

  modify = "1";

  }

  else {

  setparam = arr[i].split('=')[1];

  }

  returnurl = returnurl + arr[i].split('=')[0] + "=" + setparam + "&";

  }

  returnurl = returnurl.substr(0, returnurl.length - 1);

  if (modify == "0")

  if (returnurl == str)

  returnurl = returnurl + "&" + ref + "=" + value;

  }

  else {

  if (str.indexOf('=') != -1) {

  arr = str.split('=');

  if (arr[0] == ref) {

  setparam = value;

  modify = "1";

  }

  else {

  setparam = arr[1];

  }

  returnurl = arr[0] + "=" + setparam;

  if (modify == "0")

  if (returnurl == str)

  returnurl = returnurl + "&" + ref + "=" + value;

  }

  else

  returnurl = ref + "=" + value;

  }

  return url.substr(0, url.indexOf('?')) + "?" + returnurl;

  }