js去除url中指定引數
在專案中,遇到有引數只需要彈出一次,彈出後返回時就會再次彈出,所以需要將彈出引數取消:
程式碼如下:
function delParam(paramKey) {
var url = window.location.href; //頁面url
var urlParam = window.location.search.substr(1); //頁面引數
var beforeUrl = url.substr(0, url.indexOf("?")); //頁面主地址(引數之前地址)
var nextUrl = "";
var arr = new Array();
if (urlParam != "") {
var urlParamArr = urlParam.split("&"); //將引數按照&符分成陣列
for (var i = 0; i < urlParamArr.length; i++) {
var paramArr = urlParamArr[i].split("="); //將引數鍵,值拆開
//如果鍵雨要刪除的不一致,則加入到引數中
if (paramArr[0] != paramKey) {
arr.push(urlParamArr[i]);
}
}
}
if (arr.length > 0) {
nextUrl = "?" + arr.join("&");
}
url = beforeUrl + nextUrl;
return url;
}
javascript 刪除 url 中指定引數,並返回 url
而今天就是遇到要刪除某個引數的問題.鬱悶,於是,寫了這個函式.
實現程式碼
// 刪除url中某個引數,並跳轉
function funcUrlDel(name){
var loca = window.location;
var baseUrl = loca.origin + loca.pathname + "?";
var query = loca.search.substr(1);
if (query.indexOf(name)>-1) {
var obj = {}
var arr = query.split("&");
for (var i = 0; i < arr.length; i++) {
arr[i] = arr[i].split("=");
obj[arr[i][0]] = arr[i][1];
};
delete obj[name];
var url = baseUrl + JSON.stringify(obj).replace(/[\"\{\}]/g,"").replace(/\:/g,"=").replace(/\,/g,"&");
return url
};
}
功能:刪除url中指定的引數,並返回刪除引數後的完整url
使用方法
示例
url: http//xx.com/list?page=1&a=5
執行程式碼
funcUrlDel("page")
返回
http//xx.com/list?a=5
其他說明
會忽略 hash
值,如果需要,自行加上即可.
JS-刪除url引數
function removeURLParameter(url, parameter) {
var urlparts = url.split('?');
if(urlparts.length >= 2) {
//引數名字首
var prefix = encodeURIComponent(parameter) + '=';
var pars = urlparts[1].split(/[&;]/g);
//迴圈查詢匹配引數
for(var i = pars.length; i-- > 0;) {
if(pars[i].lastIndexOf(prefix, 0) !== -1) {
//存在則刪除
pars.splice(i, 1);
}
}
return urlparts[0] + (pars.length > 0 ? '?' + pars.join('&') : '');
}
return url;
}
js 對url進行某個引數的刪除,並返回url
兩種情況
1.對當前頁面的url進行操作
function funcUrlDel(name){
var loca = window.location;
var baseUrl = loca.origin + loca.pathname + "?";
var query = loca.search.substr(1);
if (query.indexOf(name)>-1) {
var obj = {}
var arr = query.split("&");
for (var i = 0; i < arr.length; i++) {
arr[i] = arr[i].split("=");
obj[arr[i][0]] = arr[i][1];
};
delete obj[name];
var url = baseUrl + JSON.stringify(obj).replace(/[\"\{\}]/g,"").replace(/\:/g,"=").replace(/\,/g,"&");
return url
}else{
return window.location.href;
};
}
console.log(funcUrlDel('tt'));
2.對特定的url進行處理
function urlDelP(url,name){
var urlArr = url.split('?');
if(urlArr.length>1 && urlArr[1].indexOf(name)>-1){
var query = urlArr[1];
var obj = {}
var arr = query.split("&");
for (var i = 0; i < arr.length; i++) {
arr[i] = arr[i].split("=");
obj[arr[i][0]] = arr[i][1];
};
delete obj[name];
var urlte = urlArr[0] +'?'+ JSON.stringify(obj).replace(/[\"\{\}]/g,"").replace(/\:/g,"=").replace(/\,/g,"&");
return urlte;
}else{
return url;
};
}
console.log(urlDelP('http://test.com/test?tt=3&kk=6','tt'));
console.log(urlDelP('http://test.com/test?kk=6&ll=88','tt'));
js 獲取url並刪除指定引數
//返回引數字串
function remove_arg_from_url(arg_name_removed) {
//設定或獲取 href 屬性中跟在問號後面的部分。
var url = window.location.search;
var arr = [];
var query_string = "";
if ( url.lastIndexOf('?') == 0) {
//擷取
var arg_str = url.substr( url.lastIndexOf('?') +1, url.length);
if (arg_str.indexOf('&') != -1) {
var arr = arg_str.split('&');
for (var i in arr) {
if (arr[i].split('=')[0] != arg_name_removed) {
query_string = query_string + arr[i].split('=')[0] + "=" + arr[i].split('=')[1] + "&";
}
}
return query_string.substr(0, query_string.length - 1);
}
}
}
//正則匹配
function remove_arg_from_url( name ){
//從當前URL的?號開始的字串
//如:http://www.baidu.com/s?wd=baidu&cl=3 它的search就是?wd=baidu&cl=3
var query_string = window.location.search.substr(1);
//如果沒有引數則返回空
if (query_string != undefined) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
return query_string.replace(reg,'');
}
return '';
}
//獲取url中的引數
function getUrlParam(str ,name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //構造一個含有目標引數的正規表示式物件
var r = str.match(reg); //匹配目標引數
console.log(r);
if (r != null) return decodeURI(r[2]); return null; //返回引數值
}
相關文章
- js解析url引數JS
- js獲取url地址中的引數JS
- js獲取url引數JS
- js獲取url連結中的引數JS
- js獲取url傳遞引數,js獲取url?號後面的引數JS
- python json格式轉url引數&分割, url引數轉json格式PythonJSON
- 使用js修改url地址引數JS
- Js獲取URL地址引數JS
- 將url中的指定引數替換的javascript程式碼例項JavaScript
- 分享關於js解析URL中的引數的方法JS
- js實現獲取URL引數JS
- 獲取url網址傳遞的指定引數值
- Nodejs獲取url路徑中的各個引數NodeJS
- 【轉】AngularJs $location獲取url引數AngularJS
- 線上json轉url引數格式工具JSON
- Angular2+去除url中的#Angular
- js根據引數名獲取url上的引數值JS
- 將網址url中的引數轉化為JSON格式JSON
- js如何獲取url所傳遞的引數和引數值JS
- JS獲取URL中引數值(QueryString)的4種方法分享JS
- 獲取url傳遞的指定引數值程式碼例項
- javascript獲取url連結傳遞的指定引數的值JavaScript
- iOS Url引數拆分iOS
- JavaScript解析URL引數JavaScript
- 用javascript替換URL中的引數值JavaScript
- Django裡URL配置中name引數的作用Django
- React中的url引數——this.props.matchReact
- JS實現JSON物件與URL引數的相互轉換JSON物件
- js解決url傳引數中文亂碼問題JS
- 獲取url中?後面傳遞的引數
- asp.net中URL引數加密解密過程ASP.NET加密解密
- jQuery接收url的引數jQuery
- jquery獲取url引數jQuery
- 動態路由(URL引數)路由
- js時間字串格式化以及url引數處理JS字串格式化
- js.函式parseQuery用於解析url查詢引數JS函式
- 三種方法實現:獲取 url 中的引數
- 使用jquery獲取url及url引數的方法jQuery