使用js获取地址栏中传递的值

想要使用 JavaScript 获取地址栏中的传参,可以通过以下两种方式实现:

方法一:使用 window.location.search 获取查询字符串

地址栏的查询字符串可以使用 window.location.search 属性获取。查询字符串以问号(?)开头,其后紧跟着以 & 符号分隔的多个键值对,例如:http://www.example.com?name=John&age=20。

我们可以通过如下代码获取地址栏中 query 参数的值:

// 获取地址栏中查询字符串
const query = window.location.search;

// 使用 URLSearchParams 解析查询字符串
const params = new URLSearchParams(query);

// 获取名称为 name 的参数
const name = params.get('name');

// 获取名称为 age 的参数
const age = params.get('age');

这其中,URLSearchParams 类用于解析查询参数,并通过 get 方法获取指定键名的对应值。需要注意的是,如果 query 参数中存在多个同名键值对,则只会获取第一个键值对的值。

方法二:使用正则表达式获取指定参数

除了使用 URLSearchParams 对象外,我们还可以通过正则表达式匹配地址栏中的 query 参数,例如:

// 获取 query 参数
const query = window.location.search;

// 定义匹配表达式
const reg = /[\?\&](\w+)=(\w+)/ig;

// 定义用于存储结果的对象
const params = {};

// 解析 URL 参数
query.replace(reg, function(a, b, c){
    params[b] = c;
});

// 获取名称为 name 的参数
const name = params['name'];

// 获取名称为 age 的参数
const age = params['age'];

上述代码中,我们通过正则表达式解析出地址栏中的 query 字符串,并通过 replace 方法将其转换为 Object 类型的键值对。需要注意的是,当存在多个同名参数时,会覆盖前面的值。

希望以上两种方法能够对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用js获取地址栏中传递的值 - Python技术站

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

相关文章

  • JS的执行机制(EventLoop、宏任务和微任务)

    JavaScript是一门单线程语言,即一次只能处理一件事情。但是,JavaScript中有很多异步处理机制。了解JavaScript中的执行机制(Event Loop、宏任务和微任务),对于理解异步处理机制,以及优化代码执行效率非常重要。 Event Loop Event Loop是JavaScript中执行的机制,它是一个循环处理异步任务的过程。它会检查…

    JavaScript 2023年5月28日
    00
  • 使用vue-router为每个路由配置各自的title

    针对如何使用vue-router为每个路由配置各自的title,可以按照以下完整攻略进行操作: 1.在路由中设置meta属性 首先在路由中设置meta属性,可以定义一个meta属性,用于存储每个路由的标题,具体代码如下: const routes = [ { path: ‘/’, name: ‘home’, component: Home, meta: { …

    JavaScript 2023年6月11日
    00
  • Javascript Date UTC() 方法

    以下是关于JavaScript Date对象的UTC()方法的完整攻略,包括两个示例说明。 JavaScript Date对象的UTC()方法 JavaScript的UTC()方法返回一个表示日期时间部分的数字,该数字表示自1970年1月1日00:00:00 UTC以来的毫秒数。该方法接受的参数分别为年份、月份、日期、小时、分钟、秒和毫秒,这些参数都是可选的…

    JavaScript 2023年5月11日
    00
  • 解析dom中的children对象数组元素firstChild,lastChild的使用

    当我们使用JavaScript解析DOM时,经常需要访问一个元素的子节点。在DOM树种,每个元素节点都有一个名为children的属性,它引用了该元素的所有子节点。children属性返回一个子节点的NodeList对象,可以通过它访问节点列表。在这个NodeList对象中,每个子节点都有一个firstChild和一个lastChild属性,分别是该元素的第…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript数组的常用方法

    详解JavaScript数组的常用方法 简介 在JavaScript中,数组是一种非常常见的数据类型。数组可以包含多种类型的数据,包括数字、字符串、对象等等。JavaScript提供了一系列的数组方法,可以方便地操作数组数据。在本篇文章中,我们将会介绍一些经常使用的JavaScript数组的方法。 push() push()方法可以向数组的末尾添加一个或多个…

    JavaScript 2023年5月27日
    00
  • 让插入到 innerHTML 中的 script 跑起来的实现代码

    首先需要了解一下,当通过 innerHTML 插入的 script 标签在页面渲染时会被认为是异步加载,因此可能会导致 script 中的内容没有被完全加载执行,而造成一些问题。为了解决这个问题,可以使用两种方法来让插入到 innerHTML 中的 script 能够正常执行。 方法一:使用 DOM API 动态创建 script 标签,避免使用 inner…

    JavaScript 2023年6月11日
    00
  • js表单序列化判断空值的实例

    下面是关于”js表单序列化判断空值的实例”的详细攻略,包含以下几个部分: 什么是表单序列化 如何对表单进行序列化 如何判断表单中的值是否为空 实例说明 什么是表单序列化? 表单序列化是将表单元素的值和状态通过URL编码的方式串联起来,转换为一种字符串形式,可以用于ajax提交表单数据方便传输。 如何对表单进行序列化? 我们可以使用jquery中的serial…

    JavaScript 2023年6月10日
    00
  • 简单谈谈javascript高级特性

    简单谈谈Javascript高级特性 1. 闭包 1.1 什么是闭包 闭包是指有权访问另一个函数作用域中变量的函数,常用来创建私有变量和方法,还可以用来实现函数柯里化等。 1.2 闭包的使用场景 1.2.1 创建私有变量和方法 function counter() { var count = 0; return { increment: function()…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部