JS獲取地址欄參數,JS獲取URL中的參數,修改URL中指定參數

獲取:

方法一:採用正則表達式獲取地址欄參數:javascript

function GetQueryString(name)
{
     var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
     var r = window.location.search.substr(1).match(reg);
     if(r!=null)return  decodeURI(r[2]); return null;    //decodeURI()是將encodeURI轉換的字符轉換回來
}

實用舉例:php

<a href="javascript:openWin('http://www.123.com/zfb_zhifu?money=100&name='+ encodeURI('實名認證'),'實名認證')">
   點擊這裏實名認證
</a>

可知URL:http://www.123.com/zfb_zhifu?money=100&name=實名認證html

在該頁面獲取money值和name值時,可調用函數GetQueryString(name)java

var url_money = GetQueryString(money);
var url_name = GetQueryString(name);
console.log(url_money);//100
console.log(url_name);//實名認證

--------------------------------------分割線------------------------------------正則表達式

方法二:傳統方法數組

function UrlSearch()
{
   var name,value;
   var str=location.href; //取得整個地址欄
   var num=str.indexOf("?")
   str=str.substr(num+1); //取得全部參數   stringvar.substr(start [, length ]

   var arr=str.split("&"); //各個參數放到數組裏
   for(var i=0;i < arr.length;i++){
    num=arr[i].indexOf("=");
    if(num>0){
     name=arr[i].substring(0,num);
     value=arr[i].substr(num+1);
     this[name]=value;
     }
    }
}

實用舉例:函數

<a href="javascript:openWin('http://www.123.com/zfb_zhifu?money=100&name='+ encodeURI('實名認證'),'實名認證')">
   點擊這裏實名認證
</a>
var my_url = new UrlSearch();//實例化
console.log(my_url.money);//100
console.log(decodeURI(my_url.name));//實名認證

參考網站:http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html測試

修改:

/* 
* url 目標url 
* arg 須要替換的參數名稱 
* arg_val 替換後的參數的值 
* return url 參數替換後的url 
*/ 
function changeURLArg(url,arg,arg_val){ 
    var pattern=arg+'=([^&]*)'; 
    var replaceText=arg+'='+arg_val; 
    if(url.match(pattern)){ 
        var tmp='/('+ arg+'=)([^&]*)/gi'; 
        tmp=url.replace(eval(tmp),replaceText); 
        return tmp; 
    }else{ 
        if(url.match('[\?]')){ 
            return url+'&'+replaceText; 
        }else{ 
            return url+'?'+replaceText; 
        } 
    } 
    return url+'\n'+arg+'\n'+arg_val; 
}

使用:網站

changeURLArg('http://www.daimajiayuan.com/test.php?class_id=3&id=2','class_id',4); this

修改結果:

http://www.daimajiayuan.com/test.php?class_id=4&id=2

參考網站:http://www.daimajiayuan.com/sitejs-17226-1.html

本文內容均親自測試使用過,請放心使用。若有問題,歡迎跟帖討論,我會及時回覆消息噠O(∩_∩)O~~

相關文章
相關標籤/搜索