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

yizhihongxing

获取地址栏参数值是前端开发中常见的操作,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日

相关文章

  • 从parcel.js打包出错到选择nvm的全部过程

    下面是“从parcel.js打包出错到选择nvm的全部过程”的完整攻略: 1.问题出现 当我们使用Parcel.js打包项目时,有时候会遇到打包出错的情况,这可能是因为我们的代码中使用了新版的语言特性,而Parcel.js运行的Node.js版本太低,不能识别这些新特性。 2.排查问题 要确定是否是Node.js版本问题,我们可以先查看package.jso…

    node js 2023年6月8日
    00
  • nodejs报digital envelope routines::unsupported错误的最新解决方法

    当在Node.js中使用TLS(Transport Layer Security)连接时,可能会遇到digital envelope routines::unsupported错误,这个错误通常表示您的证书格式不被TLS支持。以下是最新的解决方法: 1. 查看证书格式 首先需要使用以下命令来查看您的证书格式: openssl x509 -in /path/t…

    node js 2023年6月8日
    00
  • nodejs文件实现打包成exe, 并设置开机自启动的方法详解(没有黑窗口)

    下面就详细讲解一下如何实现“nodejs文件实现打包成exe, 并设置开机自启动的方法详解(没有黑窗口)”: 1. 安装pkg和node-windows 1.1 安装pkg pkg是一个命令行工具,可以将Node.js程序打包成独立的可执行文件(在macOS、Linux和Windows上都可以使用),可以在不安装Node.js的情况下运行。要使用pkg,首先…

    node js 2023年6月8日
    00
  • Node.js中npm常用命令大全

    下面我将为您详细讲解“Node.js中npm常用命令大全”的完整攻略。 Node.js中npm常用命令大全 1. npm安装 如果您还没有安装npm,可以在官网https://www.npmjs.com/下载最新版的Node.js来获得npm。 2. npm常用命令 在Node.js中,npm是绝大多数开发者必备的工具。下面是一些常用的npm命令。 2.1.…

    node js 2023年6月8日
    00
  • 利用NodeJS和PhantomJS抓取网站页面信息以及网站截图

    要利用 NodeJS 和 PhantomJS 抓取网站页面信息以及截图,需要经过以下步骤: 安装 NodeJS 和 PhantomJS 首先需要在本地电脑安装 NodeJS 和 PhantomJS。NodeJS 安装可以前往官网下载对应版本,PhantomJS 安装可以通过以下命令下载到本地: brew install phantomjs # 或者 npm …

    node js 2023年6月8日
    00
  • NodeJS制作爬虫全过程(续)

    让我们来详细讲解一下“NodeJS制作爬虫全过程(续)”的完整攻略。 标题 简介 在本文中,我们将介绍使用 NodeJS 制作爬虫的全过程,包括爬虫简介、爬虫框架的选择和构建、请求网页、解析页面、数据持久化等方面的内容,并结合两条示例进行说明。 爬虫简介 爬虫指的是通过自动化程序在万维网上抓取特定内容的一种技术。一个典型的爬虫应该包括网页请求模块、解析模块、…

    node js 2023年6月8日
    00
  • Node使用Selenium进行前端自动化操作的代码实现

    Node使用Selenium进行前端自动化操作的代码实现 简介 Selenium是一款用于Web应用程序测试的工具,其可接受任何编程语言的支持,包括Java、C#、Python以及Node.js等,支持自动化操作网页,进行前端功能测试,比如表单自动填充、页面自动跳转、自动点击元素等。 Node.js官方提供了一个Selenium的模块——selenium-w…

    node js 2023年6月8日
    00
  • Node.js刷新session过期时间的实现方法推荐

    作为网站的作者,Node.js中的Session管理是非常重要的一环。而过期时间的设置则是Session管理中必不可少的一部分。本篇攻略主要介绍Node.js中刷新Session过期时间的实现方法,并提供了两个示例说明。 1. Session 过期时间的设置 Session过期时间的设置需要通过两个方面来实现:cookie中的expires以及session…

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