目录

背景

前言

new URL()

博主絮叨


背景

我们在日常开发中经常会遇到要对url中的参数进行修改和新增,但是自己手动每次敲就会导致代码很麻烦,且不易维护

前言

以前写过两次次解析url的并且对url的应用场景做了深层挖掘 (个人感觉,没有这个帖子好用,因为以前是正则表达式来进行的,但是思路对下面的方法同样适用)


JS解析url中的参数__揽的博客-CSDN博客

(巨好使,详细,解析URl,URl自定义传参)js URl中快速自定义传参,并且实现参数解析 修改 和新增,替换功能_自定义url协议 传参__揽的博客-CSDN博客


new URL()

首先写一个假的地址(q=URLUtils.searchParams&topic=api)相当于当前的window.location.href

const urlParams = new URL(window.location.href);//将字符串变成url对象urlParams.searchParams.has("topic") === true; // true //判断url是否存在这个key值urlParams.searchParams.get("topic") === "api"; // true //获取这个key值的valueurlParams.searchParams.getAll("topic"); // ["api"] //获取url所有的keyurlParams.searchParams.get("foo") === ""; // true //key值为空的情况urlParams.searchParams.append("topic", "webdev"); //url追加一个key-valueurlParams.searchParams.toString(); // "q=URLUtils.searchParams&topic=api&topic=webdev"//将参数对象转为字符串并且进行了拼接urlParams.searchParams.set("topic", "More webdev"); //设定key-valueurlParams.searchParams.toString(); // "q=URLUtils.searchParams&topic=More+webdev"urlParams.searchParams.delete("topic"); //删除key-valueurlParams.searchParams.toString(); // "q=URLUtils.searchParams"

博主絮叨

这个方法比前两个博客中的正则更实用,但是前两个博客的思路一定可以多看看