浅析JS获取url中的参数实例代码

首先,获取URL中的参数是Web开发经常需要的功能。JavaScript提供了多种方式可以获取URL参数,本文将介绍其中两种最常见的方式:URLSearchParams和正则表达式。

使用URLSearchParams

URLSearchParams是一个原生对象,主要用来操作URL查询参数。使用URLSearchParams获取URL参数非常方便。

我们可以用如下代码创建一个URLSearchParams对象:

const urlParams = new URLSearchParams(window.location.search);

这个新建的URLSearchParams对象会自动从当前网页的URL中获取查询参数。如果你想获取另外一个链接中的参数,只需把该链接作为参数传递给URLSearchParams构造函数即可。

一旦我们有了urlParams对象,我们就可以通过调用get()、getAll()、has()、set()、delete()、keys()、values()和entries()方法对其进行查询和修改。下面是几个例子。

获取指定参数的值

const myParam = urlParams.get('myParam');
console.log(myParam);

检查是否存在参数

if (urlParams.has('myParam')) {
    // do something
}

使用正则表达式

虽然URLSearchParams是一种非常方便的获取URL参数的方法,但有些时候我们还是需要使用正则表达式来取得它们。

下面是一些正则表达式的示例。

获取所有参数

const url = window.location.href;
const pattern = /[?&](\w+)=([^&#]*)/g;
let params = {};
let match;
while (match = pattern.exec(url)) {
    params[match[1]] = decodeURIComponent(match[2]);
}
console.log(params);

获取指定参数的值

function getParameterByName(name, url = window.location.href) {
    name = name.replace(/[\[\]]/g, '\\$&');
    const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');
    const results = regex.exec(url);
    if (!results) {
        return null;
    }
    if (!results[2]) {
        return '';
    }
    return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
console.log(getParameterByName('myParam'));

以上就是使用URLSearchParams和正则表达式获取URL参数的MarkDown文档攻略,希望对您有所帮助。

阅读剩余 30%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅析JS获取url中的参数实例代码 - Python技术站

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

相关文章

  • 详解MyBatis 常用写法

    让我来给你详细讲解一下“详解MyBatis 常用写法”的完整攻略。 一、 MyBatis 常用写法 1. 增加数据 (1)注解方式 @Insert("insert into user(name, age) values(#{name}, #{age})") int insert(User user); 在此示例中,我们根据User对象的属…

    Java 2023年5月20日
    00
  • Java精品项目瑞吉外卖之登陆的完善与退出功能篇

    Java精品项目瑞吉外卖之登陆的完善与退出功能篇 概述 本教程旨在介绍Java精品项目瑞吉外卖中登陆的完善与退出功能的实现,包括登陆功能的实现,退出功能的实现以及必要的测试。 登陆功能的实现 1. 前端页面设计 登陆页面需要设计一个表单,包含账号和密码两个输入框,以及一个登陆按钮,具体代码如下: <form> <label for=&quo…

    Java 2023年5月24日
    00
  • 在SpringBoot中使用JWT的实现方法

    下面我将为您讲解在SpringBoot中使用JWT的实现方法的完整攻略。 1. 什么是JWT JWT全称是Json Web Token,它是一种基于 JSON 的开放标准(RFC 7519) ,用于在不同的系统之间传递信息,并且保证信息不会被篡改。在进行用户认证、鉴权等领域,JWT被广泛应用。 JWT由三部分组成: Header 头部 Payload 载荷(…

    Java 2023年5月19日
    00
  • Sprint Boot @EnableTransactionManagement使用方法详解

    在Spring Boot中,@EnableTransactionManagement注解用于启用事务管理。使用@EnableTransactionManagement注解可以确保在使用@Transactional注解时,Spring Boot能够正确地管理事务。本文将详细介绍@EnableTransactionManagement注解的作用和使用方法,并提供…

    Java 2023年5月5日
    00
  • Mac下安装tomcat的教程详解

    Mac下安装Tomcat的教程详解 Tomcat是一个流行的Java Web服务器,它可以运行Java Servlet和JSP应用程序。在Mac上安装Tomcat可以帮助开发人员快速开发Java Web应用程序。本教程将介绍如何在Mac上安装Tomcat,并启动一个简单的Web应用程序。 步骤一:安装Java 在安装Tomcat之前,必须先安装Java。在M…

    Java 2023年5月19日
    00
  • struts2.5+框架使用通配符与动态方法常见问题小结

    Struts2.5+框架使用通配符与动态方法常见问题 在使用Struts2.5+框架进行web开发过程中,经常会用到通配符和动态方法的方式进行访问,但在实际开发中,可能会遇到一些问题。下面我们就来详细讲解一下在使用通配符和动态方法时会遇到的常见问题,并提供一些解决方案。 通配符使用 通配符的作用是将不同的请求映射到同一个Action中进行处理。比如你有两个请…

    Java 2023年5月20日
    00
  • SpringBoot项目使用mybatis-plus代码生成的实例详解

    下面是关于“SpringBoot项目使用mybatis-plus代码生成的实例详解”的完整攻略: 1. 什么是mybatis-plus代码生成 mybatis-plus代码生成是基于mybatis-plus框架实现的一种自动生成代码的工具。通过提供表名、实体类名等信息,可以自动创建对应的Java类、Mapper接口及其SQL语句等,并且支持控制台输出或直接生…

    Java 2023年5月20日
    00
  • Java结构型模式之桥接模式详解

    Java结构型模式之桥接模式详解 概述 桥接模式是一种用于软件设计的结构型模式,最早由著名的设计模式书籍《设计模式:可复用面向对象软件的基础》中的Gamma等人提出。 桥接模式的主要目的是将抽象部分和实现部分分离,分别放在不同的类层次结构中,从而实现它们之间的独立变换。通过分离抽象部分和实现部分,可以使它们可以相对独立地变化,从而可以大大降低它们之间的耦合度…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部