前端解析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
}
相关推荐
牛马1112 分钟前
Flutter Web性能优化标签解析
前端·flutter·性能优化
Bigger2 分钟前
Tauri (25)——消除搜索列表默认选中的 UI 闪动
前端·react.js·weui
cike_y3 分钟前
Spring整合Mybatis:dao层
java·开发语言·数据库·spring·mybatis
松涛和鸣7 分钟前
45、无依赖信息查询系统(C语言+SQLite3+HTML)
c语言·开发语言·数据库·单片机·sqlite·html
feifeigo12310 分钟前
基于C#实现即时通讯工具
开发语言·c#
hongkid11 分钟前
React Native 如何打包正式apk
javascript·react native·react.js
李少兄14 分钟前
简单讲讲 SVG:前端开发中的矢量图形
前端·svg
这是程序猿14 分钟前
基于java的SpringBoot框架医院药品管理系统
java·开发语言·spring boot·后端·spring·医院药品管理系统
前端小万15 分钟前
告别 CJS 库加载兼容坑
前端·前端工程化
恋猫de小郭15 分钟前
Flutter 3.38.1 之后,因为某些框架低级错误导致提交 Store 被拒
android·前端·flutter