练习1--解析URL参数

2021-03-02  本文已影响0人  王二麻子88

题目描述
获取 url 中的参数

  1. 指定参数名称,返回该参数的值 或者 空字符串
  2. 不指定参数名称,返回全部的参数对象 或者 {}
  3. 如果存在多个同名参数,则返回数组
输入
> http://www.example.com?key=1&key=2&key=3&test=4#xixi key
输出
> [1, 2, 3]

代码实现

function getUrlParams(sUrl, sKey) {
  var result, sParams = {};
  sUrl.replace(/[\?&]?(\w+)=(\w+)/g, function (k0, k1, k2) {
    console.log(k0);
    console.log(k1);
    console.log(k2);
    // 其中 参数解析
    // k01 指匹配到的完整内容
    // k01 指匹配到内容的第一个括号
    // k02 值匹配到内容的第二个括号

    sParams[k1] ? sParams[k1].push(k2) : sParams[k1] = [k2]
  })
  result = sParams;
  if (result[sKey]) {
    return result[sKey]
  } else {
    return "no Match AnyThing"
  }
}

测试调用

let url = "http://www.example.com?key=1&key=2&key=3&test=4#xixi"
let key = "key"
getUrlParams(url, key);   // 输出 [1, 2, 3]
上一篇 下一篇

猜你喜欢

热点阅读