/** * 获取URL中参数的值 * * 例子:http://abc.com?action=update&id=987654321789 * var action = getUrlParam("action"); //返回action的值为"update" * * @Param: name: 要获取的参数名字 * @param: _location:可选参数,页面的URL,在弹出窗口中使用 * @return:返回参数的值 */ var getUrlParam = function (name, _location) { var _location_url = _location || window.location.search; //window.location.search:URL中问号及其后面的内容 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = _location_url.substr(1).match(reg); //匹配目标参数 //返回参数值 if (r != null) return decodeURIComponent(r[2]); return null; }; /** * 设置url参数 * @param name * 参数名称 * @param value * 参数值 * @param _location * 可选参数,替换的URL * @returns {XML|*|string|{by}|void} */ var changeUrlParam = function (name, value, _location) { var url = _location || window.location.href; var reg = eval('/(' + name + '=)([^&]*)/gi'); return url.replace(reg, name + '=' + value); }; /** * 删除url指定名称的参数 * @param name * 参数名称 * @param _location * 可选参数,替换的URL * @returns {XML|*|string|{by}|void} */ var delUrlParam = function (name, _location) { var url = _location || window.location.href; var reg = eval('/(' + name + '=)([^&]*)/gi'); return url.replace(reg, ""); }; /** * 添加url指定名称的参数 * @param name * 参数名称 * @param value * 参数值 * @param _location * 可选参数,替换的URL * @returns {string} */ var addUrlParam = function (name, value, _location) { var currentUrl = _location || window.location.href; if (/\?/g.test(currentUrl)) { if (/name=[-\w]{4,25}/g.test(currentUrl)) { currentUrl = currentUrl.replace(/name=[-\w]{4,25}/g, name + "=" + value); } else { currentUrl += "&" + name + "=" + value; } } else { currentUrl += "?" + name + "=" + value; } return currentUrl; }; /** * 设置histroy状态 * * @param title * @param url */ var historyPushState = function (title, url) { if (history.pushState && isNotBank(title) && isNotBank(url)) { document.title = title; history.pushState({title: title}, title, url); } };
获取URL中参数的值
最新推荐文章于 2021-06-18 17:55:05 发布