js 获取(接收)地址栏参数值的方法

获取地址栏参数值是前端开发中常见的操作,JavaScript 提供了多种方法实现这个功能。下面是两种比较常用的方法:

方法一:使用 URLSearchParams

URLSearchParams 是一个 Web API,可以方便地操纵 URL 的查询参数。在大部分浏览器上都有支持。

首先,我们可以通过 location.search 获取 URL 查询参数。location.search 是一个以 ? 开始的字符串,包括了 URL 中的查询参数部分。

例如,对于下面这个 URL:

http://example.com/?id=123&name=John

我们可以使用以下代码来获取 URL 查询参数:

const params = new URLSearchParams(location.search)
params.get('id') // '123'
params.get('name') // 'John'

其中,URLSearchParams 的 get() 方法可以获取指定参数名的参数值。

使用 URLSearchParams 的好处是可以自动处理多值参数。例如,对于下面这个查询参数:

http://example.com/?fruits=apple&fruits=orange&fruits=banana

我们使用 URLSearchParams 的方式获取 fruits 的值为:

const params = new URLSearchParams(location.search)
params.getAll('fruits') // ['apple', 'orange', 'banana']

方法二:使用正则表达式

我们可以通过正则表达式来获取 URL 查询参数。

由于查询参数的格式是 key1=value1&key2=value2 的形式,我们可以通过正则表达式按照这种格式提取出参数的 key 和 value。

function getUrlParam(name) {
  const reg = new RegExp(`(^|&)${name}=([^&]*)(&|$)`, 'i');
  const result = window.location.search.substr(1).match(reg);
  if (result === null) {
    return null;
  }
  return decodeURIComponent(result[2]);
}

使用这个函数,我们可以获取 URL 查询参数:getUrlParam('id') // '123'

注意,因为参数值是可能包含特殊字符的,例如中文或者空格,我们需要使用 decodeURIComponent() 函数对参数值进行解码。

以上是两种常用的方法,他们的实现原理不同,各有优缺点。具体情况下可以根据自己需要进行选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 获取(接收)地址栏参数值的方法 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • express+multer上传图片打开乱码问题及解决

    首先,我们需要明确一下什么是“乱码”问题。在计算机领域,乱码通常指的是字符集不匹配或者编码格式错误导致的文本显示异常。在网站开发中,上传图片并展示时,会遇到乱码问题,这可能是因为图片编码格式的问题导致的。 针对该问题,我们可以使用express和multer解决。以下是具体的解决方法: 1. 安装multer 我们首先需要安装multer依赖包,可以使用以下…

    node js 2023年6月8日
    00
  • nodejs socket实现的服务端和客户端功能示例

    我来为您讲解一下“nodejs socket实现的服务端和客户端功能示例”的完整攻略,希望能对您有所帮助。 简介 Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它是一个开放源代码、跨平台的服务器端运行环境。在Node.js中,socket可以用来实现服务器与客户端之间的数据传输。本文将介绍Node.js中如何使用socket实…

    node js 2023年6月8日
    00
  • Node.js readline模块与util模块的使用

    Node.js中的readline模块和util模块是常见的核心模块,用于处理控制台输入输出和各种工具函数的使用,我们通常会在Node.js CLI程序中使用到它们,接下来我将为您介绍它们的使用方法。 readline模块的使用 readline模块提供了一些实用工具,可以从流中读取数据,读取过程是逐行进行的,通常读取标准输入流中的数据。下面是readlin…

    node js 2023年6月8日
    00
  • 详解node服务器中打开html文件的两种方法

    下面是详解”详解Node.js服务器中打开HTML文件的两种方法”的完整攻略。 一、前言 很多时候我们需要在Node.js服务器中打开HTML文件,然后呈现给用户。那么Node.js服务器中有哪些方式可以打开HTML文件呢?下面就来详细讲解一下相关的两种方法。 二、方法一:使用Node.js内置的Http模块 Node.js内置的Http模块提供了创建Web…

    node js 2023年6月8日
    00
  • JavaScript二叉树及各种遍历算法详情

    JavaScript二叉树及各种遍历算法详情 什么是二叉树 二叉树是一种树形数据结构,每个节点最多拥有两个子节点。根据节点的位置分为根节点、左子节点和右子节点。 二叉树的遍历方式 常用的二叉树遍历算法分为三种:前序遍历、中序遍历和后序遍历。 前序遍历 前序遍历是指先访问当前节点,然后按照左子树-右子树的顺序遍历所有子节点。 下面是一段前序遍历的示例代码: f…

    node js 2023年6月8日
    00
  • Nodejs下DNS缓存问题浅析

    Nodejs下DNS缓存问题浅析 当我们使用Nodejs时,偶尔会遇到DNS解析出现问题的情况,这可能是由于DNS缓存导致的。这篇文章将探讨如何在Nodejs中解决DNS缓存问题以及如何刷新DNS缓存。 DNS缓存问题 当我们使用Nodejs创建一个HTTP请求时,Node会优先使用本地DNS缓存来解析目标主机名以获取其IP地址。如果DNS缓存中没有找到,N…

    node js 2023年6月8日
    00
  • 详解基于node.js的脚手架工具开发经历

    详解基于node.js的脚手架工具开发经历 简介 脚手架工具,是一种常见的自动化开发工具,可以在快速启动和搭建项目的过程中,提高开发效率。本文将详细讲解使用node.js开发脚手架工具的过程,并提供两个示例说明。 脚手架工具开发步骤 步骤一:初始化工程 使用npm init命令创建一个新的node.js工程,并编写package.json文件。 npm in…

    node js 2023年6月8日
    00
  • Node.js中的Buffer对象及创建方式

    当需要在 Node.js 中处理二进制数据时,我们可以使用 Buffer 对象。Buffer 是 Node.js 的一个核心模块,通过它可以创建和操作二进制数据。 创建 Buffer 在 Node.js 中,可以使用以下几种方式来创建 Buffer 对象: 通过长度创建 Buffer 可以通过指定 Buffer 的长度来创建 Buffer 对象。例如: co…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部