使用JS获取地址栏参数
方法一:
function GetQueryString(name) {
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
调用方法console.log(GetQueryString("参数名"));
方法二:
/**
* 获取指定URL的参数值
* @param url 指定的URL地址
* @param name 参数名称
* @return 参数值
*/
function getUrlParam(url,name) {
var pattern = new RegExp("[?&]"+name+"=([^&]+)", "g");
var matcher = pattern.exec(url);
var items = null;
if(null != matcher){
try{
items = decodeURIComponent(decodeURIComponent(matcher[1]));
}catch(e){
try{
items = decodeURIComponent(matcher[1]);
}catch(e){
items = matcher[1];
}
}
}
return items;
}
调用方法console.log(getUrlParam(document.href,"参数名"));
使用jQuery获取地址栏参数
使用下面的方式为jquery扩展一个方法来获取url参数
(function ($) {
$.getUrlParam = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
})(jQuery);
调用方法console.log($.getUrlParam(参数名));
注意:javascript对参数编码解码方法要一致
escape() unescape()
encodeURI() decodeURI()
encodeURIComponent() decodeURIComponent()