目录
如何在 Vanilla JavaScript 中获取查询字符串
URLSearchParams 方式
首页 web前端 js教程 获取JavaScript中的查询字符串的方法

获取JavaScript中的查询字符串的方法

Aug 26, 2023 pm 05:13 PM
javascript 方法 查询字符串

获取JavaScript中的查询字符串的方法

在这篇简短的文章中,我们将讨论在 JavaScript 中获取查询字符串的几种不同方法。

当您使用 JavaScript 时,有时您需要访问脚本中的查询字符串参数。没有直接的方法可以实现这一点,因为没有内置的 JavaScript 函数或方法可以让您实现它。当然,您可以找到很多满足您要求的第三方实用程序脚本,但最好可以使用普通 JavaScript 来实现它。

在这篇文章中,我们将讨论如何构建自定义函数以在普通 JavaScript 中获取查询字符串参数。稍后,我们还将探索 URLSearchParams 接口,以了解它的工作原理以及它如何帮助处理查询字符串参数。

如何在 Vanilla JavaScript 中获取查询字符串

在本节中,我们将了解如何使用普通 JavaScript 获取查询字符串值。

让我们看一下下面的 JavaScript 示例。

function getQueryStringValues(key) {
    var arrParamValues = [];
    var url = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

    for (var i = 0; i < url.length; i++) {
        var arrParamInfo = url[i].split('=');

        if (arrParamInfo[0] == key || arrParamInfo[0] == key+'[]') {
            arrParamValues.push(decodeURIComponent(urlparam[1]));
        }
    }

    return (arrParamValues.length > 0 ? (arrParamValues.length == 1 ? arrParamValues[0] : arrParamValues) : null);
}

// index.php?keyword=FooBar&hobbies[]=sports&hobbies[]=Reading
console.log(getQueryStringValues('keyword')); // "FooBar"
console.log(getQueryStringValues('hobbies')); // Array [ "sports", "Reading" ]
console.log(getQueryStringValues('keyNotExits')); // null
登录后复制

我们创建了 getQueryStringValues 函数,您可以使用该函数获取 URL 中可用的查询字符串参数的值。

让我们浏览一下该函数,看看它是如何工作的。

以下代码片段是该函数中最重要的代码片段之一。

var url = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
登录后复制

首先,我们使用 indexOf 方法来查找 ? 字符在 URL 中的位置。接下来,我们使用 slice 方法提取 URL 中的查询字符串部分。最后,我们使用 split 方法通过 & 字符分割查询字符串。因此,url 变量是使用查询字符串参数数组进行初始化的。

接下来,我们循环遍历 url 数组的所有元素。在循环中,我们使用 split 方法通过 = 字符来分割数组值。这样, arrParamInfo 变量就用一个数组进行初始化,其中数组键是参数名称,数组值是参数值。您可以在下面的代码片段中看到这一点。

var arrParamInfo = url[i].split('=');
登录后复制

接下来,我们将它与函数中传递的参数进行比较。如果它与传入的参数匹配,我们会将参数值推送到 arrParamValues 数组中。正如您所看到的,我们还介绍了单个参数和数组参数。

if (arrParamInfo[0] == key || arrParamInfo[0] == key+'[]') {
    arrParamValues.push(decodeURIComponent(urlparam[1]));
}
登录后复制

最后,如果 arrParamValues 变量包含值,我们将返回它,否则返回 null 变量包含值,我们将返回它,否则返回 null

return (arrParamValues.length > 0 ? (arrParamValues.length == 1 ? arrParamValues[0] : arrParamValues) : null);
登录后复制

您可以继续使用不同的值测试 getQueryStringValues 函数。

如上面的示例所示,我们使用不同的值调用它,并使用 console.log 函数记录输出。需要注意的是,如果您在 console.log 函数记录输出。需要注意的是,如果您在 getQueryStringValues 函数中传递的参数作为数组存在于查询字符串中,您将得到一个数组作为响应,并且它将返回该参数的所有值。

URLSearchParams 方式

这是在 JavaScript 中获取查询字符串值的最简单方法之一。 URLSearchParams 接口提供实用方法来处理 URL 的查询字符串。您可以通过“我可以使用吗”来检查浏览器支持情况。

让我们快速看看它是如何工作的。

// index.php?keyword=Search Text&click=Submit
var urlParams = new URLSearchParams(window.location.search);
登录后复制

使用查询字符串初始化 URLSearchParams 对象后,您就可以使用 URLSearchParams 对象后,您就可以使用

对象提供的实用方法了。

让我们在本文中介绍一些有用的方法。

get

方法

get顾名思义,

方法用于获取查询字符串参数的值。

让我们尝试通过以下示例来理解它。

// index.php?keyword=Search Text&click=Submit
var objUrlParams = new URLSearchParams(window.location.search);
console.log(objUrlParams.get('keyword')); // “Search Text”
登录后复制
keyword在上面的示例中,我们获取了 查询字符串参数的值,它将输出搜索文本

get这样就可以使用

方法获取任意查询字符串参数的值。

has

方法

has

方法用于检查查询字符串中是否存在参数。

// index.php?keyword=Search Text&click=Submit
var objUrlParams = new URLSearchParams(window.location.search);
console.log(objUrlParams.has('order')); // “false”
console.log(objUrlParams.has('click')); // “true”
登录后复制
has在上面的示例中,我们使用了

方法来检查不同参数是否存在。

getAll

方法

getAll

方法用于获取某个参数多次存在时的所有值。

让我们通过以下示例来检查一下。

// index.php?keyword=Search Text&click=Submit&filter=value1&filter=value2
var objUrlParams = new URLSearchParams(window.location.search);
console.log(objUrlParams.getAll('filter')); // [“value1”,”valu2”]
登录后复制
getAll如您所见,当我们使用 方法时,它返回与该参数关联的所有值。

结论

今天,我们讨论了可用于在 JavaScript 中获取查询字符串的不同方法。除了普通 JavaScript 之外,我们还讨论了如何使用 URLSearchParams

接口获取查询字符串变量。🎜

以上是获取JavaScript中的查询字符串的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么删除微信好友?删除微信好友的方法 怎么删除微信好友?删除微信好友的方法 Mar 04, 2024 am 11:10 AM

微信是主流的聊天工具之一,我们可以通过微信认识新的朋友,联系老的朋友,维系朋友之间的情谊。正如天下没有不散的宴席,人与人之间的相处难免会发生意见不合的时候。当一个人极其影响你的情绪,或者在相处的时候发现三观不合,没办法再继续沟通,那么我们可能需要删除微信好友的方法。怎么删除微信好友?删除微信好友的方法第一步:在微信主界面轻触【通讯录】;第二步:点击对应要删除的好友,进入【详细资料】;第三步:点击右上角【...】;第四步:点击下方【删除】即可;第五步:了解后页面提示后,点击【删除联系人】即可;温馨

怎么在番茄免费小说app中写小说 分享番茄小说写小说方法教程 怎么在番茄免费小说app中写小说 分享番茄小说写小说方法教程 Mar 28, 2024 pm 12:50 PM

  番茄小说是一款非常热门的小说阅读软件,我们在番茄小说中经常会有新的小说和漫画可以去阅读,每一本小说和漫画都很有意思,很多小伙伴也想着要去写小说来赚取赚取零花钱,在把自己想要写的小说内容编辑成文字,那么我们要怎么样在这里面去写小说呢?小伙伴们都不知道,那就让我们一起到本站本站中花点时间来看写小说的方法介绍吧。分享番茄小说写小说方法教程  1、首先在手机上打开番茄免费小说app,点击个人中心——作家中心  2、跳转到番茄作家助手页面——点击创建新书在小说的结

七彩虹主板怎么进入bios?教你两种方法 七彩虹主板怎么进入bios?教你两种方法 Mar 13, 2024 pm 06:01 PM

  七彩虹主板在中国国内市场享有较高的知名度和市场占有率,但是有些七彩虹主板的用户还不清楚怎么进入bios进行设置呢?针对这一情况,小编专门为大家带来了两种进入七彩虹主板bios的方法,快来试试吧!  方法一:使用u盘启动快捷键直接进入u盘装系统  七彩虹主板一键启动u盘的快捷键是ESC或F11,首先使用黑鲨装机大师制作一个黑鲨U盘启动盘,然后开启电脑,当看到开机画面的时候,连续按下键盘上的ESC或F11键以后将会进入到一个启动项顺序选择的窗口,将光标移动到显示“USB”的地方,然

微信删除的人如何找回(简单教程告诉你如何恢复被删除的联系人) 微信删除的人如何找回(简单教程告诉你如何恢复被删除的联系人) May 01, 2024 pm 12:01 PM

而后悔莫及、人们常常会因为一些原因不小心将某些联系人删除、微信作为一款广泛使用的社交软件。帮助用户解决这一问题,本文将介绍如何通过简单的方法找回被删除的联系人。1.了解微信联系人删除机制这为我们找回被删除的联系人提供了可能性、微信中的联系人删除机制是将其从通讯录中移除,但并未完全删除。2.使用微信内置“通讯录恢复”功能微信提供了“通讯录恢复”节省时间和精力,用户可以通过该功能快速找回之前被删除的联系人,功能。3.进入微信设置页面点击右下角,打开微信应用“我”再点击右上角设置图标、进入设置页面,,

手机字体大小设置方法(轻松调整手机字体大小) 手机字体大小设置方法(轻松调整手机字体大小) May 07, 2024 pm 03:34 PM

字体大小的设置成为了一项重要的个性化需求,随着手机成为人们日常生活的重要工具。以满足不同用户的需求、本文将介绍如何通过简单的操作,提升手机使用体验,调整手机字体大小。为什么需要调整手机字体大小-调整字体大小可以使文字更清晰易读-适合不同年龄段用户的阅读需求-方便视力不佳的用户使用手机系统自带字体大小设置功能-如何进入系统设置界面-在设置界面中找到并进入"显示"选项-找到"字体大小"选项并进行调整第三方应用调整字体大小-下载并安装支持字体大小调整的应用程序-打开应用程序并进入相关设置界面-根据个人

Win11管理员权限获取方法汇总 Win11管理员权限获取方法汇总 Mar 09, 2024 am 08:45 AM

Win11管理员权限获取方法汇总在Windows11操作系统中,管理员权限是非常重要的权限之一,可以让用户对系统进行各种操作。有时候,我们可能需要获取管理员权限来完成一些操作,比如安装软件、修改系统设置等。下面就为大家总结了一些获取Win11管理员权限的方法,希望能帮助到大家。1.使用快捷键在Windows11系统中,可以通过快捷键的方式快速打开命令提

手机版龙蛋孵化方法大揭秘(一步一步教你如何成功孵化手机版龙蛋) 手机版龙蛋孵化方法大揭秘(一步一步教你如何成功孵化手机版龙蛋) May 04, 2024 pm 06:01 PM

手机游戏成为了人们生活中不可或缺的一部分,随着科技的发展。它以其可爱的龙蛋形象和有趣的孵化过程吸引了众多玩家的关注,而其中一款备受瞩目的游戏就是手机版龙蛋。帮助玩家们在游戏中更好地培养和成长自己的小龙,本文将向大家介绍手机版龙蛋的孵化方法。1.选择合适的龙蛋种类玩家需要仔细选择自己喜欢并且适合自己的龙蛋种类,根据游戏中提供的不同种类的龙蛋属性和能力。2.提升孵化机的等级玩家需要通过完成任务和收集道具来提升孵化机的等级,孵化机的等级决定了孵化速度和孵化成功率。3.收集孵化所需的资源玩家需要在游戏中

Oracle版本查询方法详解 Oracle版本查询方法详解 Mar 07, 2024 pm 09:21 PM

Oracle版本查询方法详解Oracle是目前世界上最流行的关系型数据库管理系统之一,它提供了丰富的功能和强大的性能,广泛应用于企业中。在进行数据库管理和开发过程中,了解Oracle数据库的版本是非常重要的。本文将详细介绍如何查询Oracle数据库的版本信息,并给出具体的代码示例。查询数据库版本的SQL语句在Oracle数据库中,可以通过执行简单的SQL语句

See all articles