首页 > 其他分享 >写一个获取当前url查询字符串中的参数的方法

写一个获取当前url查询字符串中的参数的方法

时间:2025-01-12 09:54:55浏览次数:1  
标签:const url 查询 URL params 字符串 参数

在前端开发中,你可以使用JavaScript的URLSearchParams接口来获取URL查询字符串中的参数。以下是一个简单的方法,它接受一个URL作为参数,并返回一个包含所有查询参数的对象:

function getQueryParams(url) {
  const urlObj = new URL(url);
  const params = new URLSearchParams(urlObj.search);
  const queryParams = {};

  for (const [key, value] of params.entries()) {
    queryParams[key] = value;
  }

  return queryParams;
}

// 使用示例
const url = 'https://example.com/?name=John&age=30&city=New%20York';
const params = getQueryParams(url);
console.log(params); // 输出: { name: 'John', age: '30', city: 'New York' }

在这个例子中,我们首先使用URL构造函数创建一个URL对象,然后使用URL.search属性获取查询字符串。接下来,我们使用URLSearchParams构造函数创建一个新的搜索参数对象,并使用URLSearchParams.entries()方法遍历所有的查询参数。最后,我们将每个查询参数添加到一个新的对象中,并返回这个对象。

如果你只想获取当前页面的URL查询参数,你可以简化这个函数,如下所示:

function getCurrentQueryParams() {
  const params = new URLSearchParams(window.location.search);
  const queryParams = {};

  for (const [key, value] of params.entries()) {
    queryParams[key] = value;
  }

  return queryParams;
}

// 使用示例
const params = getCurrentQueryParams();
console.log(params); // 输出当前页面的查询参数对象

在这个简化的版本中,我们直接使用window.location.search来获取当前页面的查询字符串,而不需要传递URL作为参数。

标签:const,url,查询,URL,params,字符串,参数
From: https://www.cnblogs.com/ai888/p/18666682

相关文章

  • 写一个把字符串大小写切换的方法
    在前端开发中,可以使用JavaScript来实现一个方法,该方法可以将字符串中的大小写进行切换。以下是一个示例实现:functionswitchCase(str){letresult='';for(leti=0;i<str.length;i++){constchar=str[i];if(char===char.toUpperCase()){/......
  • 统计某一字符或字符串在另一个字符串中出现的次数
    在前端开发中,你可以使用JavaScript来统计一个字符或字符串在另一个字符串中出现的次数。下面是一个简单的函数,用于实现这个功能:functioncountOccurrences(mainString,searchString){letcount=0;letposition=0;constsearchStringLength=searchString.l......
  • 写一个加密字符串的方法
    在前端开发中,有许多现成的JavaScript库可以帮助你进行字符串加密,例如CryptoJS。但如果你想自己实现一个简单的加密方法,下面是一个使用简单的替换加密算法的例子。请注意,这种方法的安全性较低,主要用于示例和学习目的。functionsimpleEncrypt(text,key){letencryptedText......
  • 写一个方法去掉字符串中的空格
    在前端开发中,你可以使用JavaScript的replace()方法和正则表达式来去掉字符串中的空格。下面是一个示例方法,它接受一个字符串作为参数,并返回一个新的没有空格的字符串:functionremoveSpaces(str){returnstr.replace(/\s+/g,'');}在这个方法中,/\s+/g是一个正则表达式,用于......
  • 去除字符串中最后一个指定的字符
    在前端开发中,JavaScript经常被用来处理字符串。如果你想从字符串中删除最后一个指定的字符,你可以使用JavaScript的slice(),lastIndexOf()和substring()方法。以下是一个示例函数,它接受一个字符串和一个要删除的字符作为参数,并返回一个新的字符串,其中已删除了最后一个指定的字符:fun......
  • 字符串+相邻
    https://codeforces.com/gym/580226/problem/B#include<bits/stdc++.h>#definelcp<<1#definercp<<1|1#defineINF2e9usingnamespacestd;#defineendl'\n'usingll=longlong;usingpii=pair<ll,ll>;constdoubleP......
  • 【Verilog实例】1_LCD字符串显示
    功能描述:  通过写入指令或数据,控制内部的驱动芯片,从而实现在LCD显示屏上显示字符串:I_❤L......
  • 字符串
    https://codeforces.com/gym/580226/problem/A#include<bits/stdc++.h>#definelcp<<1#definercp<<1|1#defineINF2e9usingnamespacestd;#defineendl'\n'usingll=longlong;usingpii=pair<ll,ll>;constdoubleP......
  • 代码随想录训练营第四十五天| 115.不同的子序列 583. 两个字符串的删除操作 72. 编辑
    115.不同的子序列题目链接:115.不同的子序列-力扣(LeetCode)讲解链接:代码随想录 hard确实不好直接说出来粘一下思路:(引自代码随想录)确定dp数组(dptable)以及下标的含义dp[i][j]:以i-1为结尾的s子序列中出现以j-1为结尾的t的个数为dp[i][j]。为什么i-1,j-1这么定义卡哥......
  • 同构字符串(vector数组实现)
    【问题描述】给定两个字符串s和t,判断它们是否是同构的。如果是同构的,输出true,否则,输出false。注:如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相......