很多时候我们会需要获取URL里面携带的参数,好记性不如烂笔头,记录下来备用.(本人实际操作验证有效)
jQuery:3.6.0
谷歌浏览器:115.0.5790.114
WebStorm:2023.2
使用正者表达式提取地址栏‘?’后面的参数
$.getUrlParam = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substring(1).match(reg);
if (r !== null) return decodeURI(r[2]);
return null;
};
验证
console.log($.getUrlParam('id');
1.window.location.search:获取地址栏参数部分
2.'(^|&)" + name + "=([^&]*)(&|$)':匹配你提供的参数头等号两边的内容,然后提取出来
(^| )代表开始
( |$)代表结束
以&或者$结尾的字符串
这个正则是寻找&+url参数名字=值+&
&可以不存在。
3.substring(1):获取的参数是包含?的,需要去掉
4.match:得出一个数组,[name,参数]