js Operation Browser Parameter Method

  • 2021-07-13 04:00:06
  • OfStack

Examples are as follows:


function getQueStr(url, ref) // Retrieve parameter values 
{
  var str = url.substr(url.indexOf('?') + 1);
  if (str.indexOf('&') != -1) {
    var arr = str.split('&');
    for (i in arr) {
      if (arr[i].split('=')[0] == ref)
        return arr[i].split('=')[1];
    }
  }
  else {
    return url.substr(url.indexOf('=') + 1)
  }
}

function setQueStr(url, ref, value) // Set parameter values 
{
  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;
}

function delQueStr(url, ref) // Delete parameter value 
{
  var str = "";

  if (url.indexOf('?') != -1)
    str = url.substr(url.indexOf('?') + 1);
  else
    return url;
  var arr = "";
  var returnurl = "";
  var setparam = "";
  if (str.indexOf('&') != -1) {
    arr = str.split('&');
    for (i in arr) {
      if (arr[i].split('=')[0] != ref) {
        returnurl = returnurl + arr[i].split('=')[0] + "=" + arr[i].split('=')[1] + "&";
      }
    }
    return url.substr(0, url.indexOf('?')) + "?" + returnurl.substr(0, returnurl.length - 1);
  }
  else {
    arr = str.split('=');
    if (arr[0] == ref)
      return url.substr(0, url.indexOf('?'));
    else
      return url;
  }
}

Related articles: