Javascript解析url中的查询参数

本文介绍两种从URL中解析参数的方法。第一种使用正则表达式匹配特定参数名对应的值;第二种利用现代浏览器提供的URLSearchParams接口,更简洁地获取参数。这两种方法适用于前端开发中对URL传递的数据进行快速解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//获取url参数,并解码。
var txt = decodeURIComponent(window.location.search);
在这里插入图片描述

^匹配字符串开头,&就是&字符 (^|&)匹配字符串开头或者&字符,

”[]”代表的是一个字符集,”^”在字符集中才是反向字符集,不在字符集表示限定开头。

“$”匹配输入字符串的结尾位置。

“|”指明两项之间的一个选择。

//字符串开头或者&符号开头,加上name变量的内容,再加上任意个不含&的字符,以&或字符串结尾
//那么下面的正则表达式匹配的内容就是:&name=
var reg = new RegExp("(^|&)" + name + “=([^&]*)(&|$)”);
//匹配url参数结果
var analyArr = txt.substr(1).match(reg);

function getQueryParameter(name){
       var txt = decodeURIComponent(window.location.search);
       var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
       var analyArr = txt.substr(1).match(reg); //去掉?号,匹配
       if(analyArr!=null)
       {
           return analyArr[2];
       }
       else
       {
           return "解析失败!";
       }
}

方案二

function getQuery(id){
      let urlSearchParams = new URLSearchParams(window.location.search);
      let params = Object.fromEntries(urlSearchParams.entries());
      return params[id];
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值