前端解析URL的两种方式

方法一:利用 splice 分割 + 循环依次取出

javascript 复制代码
方法一:
function queryURLparams(url) {
    let obj = {}
    if (url.indexOf('?') < 0) return obj
    let arr = url.split('?')
    url = arr[1]
    let array = url.split('&')
    for (let i = 0; i < array.length; i++) {
        let arr2 = array[i]
        let arr3 = arr2.split('=')
        obj[arr3[0]] = arr3[1]
    }
    return obj

}
方法二:
  function getURL(url){
      let str = url.split("?")[1];
      let str1 = str.split("&");
      let obj = {};
      for(let i = 0; i<str1.length; i++){
          let str2 = str1[i].split("=");
          let key = str2[0];
          let value = str2[1];
          obj[key] = value;

      }
      return obj;
  }
  console.log(getURL(url))

方法二: 正则 + arguments

javascript 复制代码
function queryURLparamsRegEs5(url) {
    let obj = {}
    let reg = /([^?=&]+)=([^?=&]+)/g
    url.replace(reg, function() {
        obj[arguments[1]] = arguments[2]
    })
    return obj
}
相关推荐
zfj3218 小时前
vscode是js开发的,为什么能支持golang java等各种语言开发
javascript·vscode·golang
GDAL8 小时前
Mapbox GL JS 核心表达式:`==` 相等判断完全教程
javascript·mapbox
cheems95278 小时前
锁策略的介绍
java·开发语言
清水白石0088 小时前
《Python × 数据库:用 SQLAlchemy 解锁高效 ORM 编程的艺术》
开发语言·python·json
风中月隐8 小时前
C语言中以坐标的方式图解“字母金字塔”的绘制
c语言·开发语言·算法·字母金子塔·坐标图解法
Arva .8 小时前
说说线程的生命周期和状态
java·开发语言
二两锅巴8 小时前
📺 无需Electron!前端实现多显示器浏览器窗口精准控制与通信
前端
1001101_QIA8 小时前
C++中不能复制只能移动的类型
开发语言·c++
炸土豆9 小时前
防抖节流里的this传递
前端·javascript
用户4099322502129 小时前
Vue3中动态样式数组的后项覆盖规则如何与计算属性结合实现复杂状态样式管理?
前端·ai编程·trae