1. 程式人生 > >js獲取url引數值的兩種方式

js獲取url引數值的兩種方式

方法一:採用正則表示式獲取位址列引數:( 強烈推薦,既實用又方便!)

    //擷取url資料方法
    var getParam = function (name) {
        var search = document.location.search;
        //alert(search);
        var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
        var matcher = pattern.exec(search);
        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; };
方法二:split拆分法
function GetRequest() {
    var url = location.search; //獲取url中"?"符後的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for
(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return theRequest; } var Request = new Object(); Request = GetRequest(); // var 引數1,引數2,引數3,引數N; // 引數1 = Request['引數1']; // 引數2 = Request['引數2']; // 引數3 = Request['引數3']; // 引數N = Request['引數N'];

那麼,但你用上面的方法去呼叫:alert(GetQueryString(“url”));

如果用:alert(GetQueryString(“id”));那麼彈出的內容就是 123 啦;

2,window.location.protocol
URL 的協議部分
本例返回值:http:

3,window.location.host
URL 的主機部分
本例返回值:www.maidq.com

4,window.location.port
URL 的埠部分
如果採用預設的80埠(update:即使添加了:80),那麼返回值並不是預設的80而是空字元
本例返回值:”“

5,window.location.pathname
URL 的路徑部分(就是檔案地址)
本例返回值:/fisker/post/0703/window.location.html

6,window.location.search
查詢(引數)部分
除了給動態語言賦值以外,我們同樣可以給靜態頁面,並使用javascript來獲得相信應的引數值
本例返回值:?ver=1.0&id=6

7,window.location.hash
錨點
本例返回值:#imhere