前端解析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
}
相关推荐
freexyn2 分钟前
Matlab速成笔记七十:使用多项式函数进行曲线拟合
开发语言·笔记·matlab
H CHY2 分钟前
C++代码
c语言·开发语言·数据结构·c++·算法·青少年编程
tryxr6 分钟前
Java抽象类特点、使用方式和应用场景
java·开发语言·向上转型·抽象类·向下转型
kylezhao20198 分钟前
C#上位机开发数据持久化:excel报表导入导出
开发语言·c#·excel
John_ToDebug10 分钟前
从 window.external 到 Mojo深度解析 Chromium 中 JS 与 C++ 的 7 种通信机制
javascript·chrome·mojo
老前端的功夫15 分钟前
TypeScript 类型守卫:从编译原理到高级模式
前端·javascript·架构·typescript
派大鑫wink16 分钟前
Stream 流:简化集合操作的利器
java·开发语言
小小8程序员20 分钟前
除了 gcc/g++,还有哪些常用的 C/C++ 编译器?
c语言·开发语言·c++
亓才孓20 分钟前
java中的Math.Radom拓展
开发语言·python·算法
lkbhua莱克瓦2420 分钟前
基础-SQL-DQL
java·开发语言·数据库·笔记·mysql·dql