JS获取url中传递的数据的三种方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/well2049/article/details/79769517

第一种方法使用for循环

function queryURLParameter(url){
  let obj = {};
  if (url.indexOf('?')<0) return obj;
  let ary = url.split('?');
  urlParameter = ary[1];
  data = urlParameter.split('&');

  for (var i = 0; i < data.length; i++) {
    let curl = data[i],
      curAry = curl.split('=');
      obj[curAry[0]] = curAry[1];
  }
  return obj;
}

//使用时直接  var data = queryURLParameter(url)

第二种正则匹配

function queryURLParamteter(url){
  let reg = /([^&?=]+)=([^&?=]+)/g,
      obj = {};
  url.replace(reg,function(){
    obj[arguments[1]] = arguments[2];
  })    
  return obj;
}

第三种就是写到字符串原型中

String.prototype.myQueryURLParameter = function(){
  let reg = /([^&?=]+)=([^&?=]+)/g,
      obj = {};
      this.replace(reg,(...arg)=>{
        obj[arg[1]] = arg[2]
      });
  return obj;
}

console.log(url.myQueryURLParameter());

猜你喜欢

转载自blog.csdn.net/well2049/article/details/79769517