当前位置:网站首页>获取地址url中的query参数指定参数方法
获取地址url中的query参数指定参数方法
2022-06-27 06:30:00 【搬砖的前端】
获取地址url中的query参数指定参数方法
方案一:(兼容性最好,但是有点长)
function getParam(name) {
//先获取#后面的参数
var getValue = function(name, str) {
//获取参数name的值
var reg = new RegExp("(^|!|&|\\?)" + name + "=([^&]*)(&|$)");
//再获取?后面的参数
var r = str.match(reg);
if (r != null) {
try {
return decodeURIComponent(r[2]);
} catch (e) {
console.log(e + "r[2]:" + r[2]);
return null;
}
}
return null;
};
var str = document.location.hash.substr(2);
var value = getValue(name, str);
if (value == null) {
str = document.location.search.substr(1);
value = getValue(name, str);
}
return value;
}
方案二:有兼容性(支持es6 的map就可以)
function getParams(key){
var ops = {
};
window.location.href.split('?')[1].split('&').map(i => ops[(i.split('=')[0])] = i.split('=')[1]);
return ops[key]
}
方案三:有兼容性(支持es6就可以)
- ts不可用,需要改下return那行
- ?. 表示为true就继续往后执行链式
function getParams(key){
var str = window.location.href.split('?')[1].split('&').filter(i => i.startsWith(key+'='));
return str?.[0]?.split('=')[1]
}
基本上主流浏览器都没问题,一般我用万能的第一种,但是有些长
边栏推荐
猜你喜欢

Caldera安装及简单使用

Altium designer 19 device silk screen label position shall be placed uniformly in batches

The risk of multithreading -- thread safety

AHB2APB桥接器设计(2)——同步桥设计的介绍

Mathematical modeling contest for graduate students - optimal application of UAV in rescue and disaster relief

Distribution gaussienne, régression linéaire, régression logistique

Gaussian distribution, linear regression, logistic regression

JVM garbage collection mechanism

聊聊领域驱动设计

Using CSDN to develop cloud and build navigation websites
随机推荐
C Primer Plus Chapter 11_ Strings and string functions_ Codes and exercises
TiDB 中的数据库模式概述
[QT notes] basic use of qregularexpression in QT
可扩展哈希
机 器 学 习
Assembly language - Wang Shuang Chapter 11 flag register - Notes
Dev++ 环境设置C语言关键字显示颜色
ORA-00909: 参数个数无效,concat引起
multiprocessing. Detailed explanation of pool
面试官:用分库分表如何做到永不迁移数据和避免热点问题?
NoViableAltException([email protected][2389:1: columnNameTypeOrConstraint : ( ( tableConstraint ) | ( columnNameT
分数阶PID控制
2022 le fichier CISP - Pte (i) contient:
Once spark reported an error: failed to allocate a page (67108864 bytes), try again
聊聊领域驱动设计
Centos7.9安装mysql 5.7,并设置开机启动
Basic SQL operations in tidb
Inter thread wait and wake-up mechanism, singleton mode, blocking queue, timer
Download CUDA and cudnn
The number of query results of maxcompute SQL is limited to 1W