前端解析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
}
相关推荐
web150850966413 分钟前
在uniapp Vue3版本中如何解决webH5网页浏览器跨域的问题
前端·uni-app
Yvemil76 分钟前
《开启微服务之旅:Spring Boot Web开发举例》(一)
前端·spring boot·微服务
Oneforlove_twoforjob19 分钟前
【Java基础面试题033】Java泛型的作用是什么?
java·开发语言
java_heartLake25 分钟前
Vue3之性能优化
javascript·vue.js·性能优化
Swift社区29 分钟前
HarmonyOS 实践 - 设计模式在代码中的作用
javascript
engchina35 分钟前
如何在 Python 中忽略烦人的警告?
开发语言·人工智能·python
向宇it36 分钟前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
少年姜太公1 小时前
从零开始详解js中的this(下)
前端·javascript·程序员
哑巴语天雨1 小时前
React+Vite项目框架
前端·react.js·前端框架
诚丞成1 小时前
计算世界之安生:C++继承的文水和智慧(上)
开发语言·c++