前端解析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
}
相关推荐
hhcccchh6 小时前
1.2 CSS 基础选择器、盒模型、flex 布局、grid 布局
前端·css·css3
551只玄猫7 小时前
【数学建模 matlab 实验报告13】主成分分析
开发语言·数学建模·matlab·课程设计·主成分分析
zzzzls~7 小时前
Python 工程化: 用 Copier 打造“自我进化“的项目脚手架
开发语言·python·copier
韶博雅7 小时前
emcc24ai
开发语言·数据库·python
专吃海绵宝宝菠萝屋的派大星7 小时前
使用Dify对接自己开发的mcp
java·服务器·前端
爱分享的阿Q7 小时前
Rust加WebAssembly前端性能革命实践指南
前端·rust·wasm
蓝黑20207 小时前
Vue的 value=“1“ 和 :value=“1“ 有什么区别
前端·javascript·vue
小李子呢02117 小时前
前端八股6---v-model双向绑定
前端·javascript·算法
yongui478347 小时前
C# 与三菱PLC通讯解决方案
开发语言·c#
2501_933329557 小时前
技术架构深度解析:Infoseek舆情监测系统的全链路设计与GEO时代的技术实践
开发语言·人工智能·分布式·架构