在网页前端编写 JavaScript 代码时,偶尔需要获取地址栏内的参数来响应不同的操作。在这里了列出两种常用的办法。

1. 获取简单参数

如果需要传递的参数只有一个,可以直接通过 hash 来传递。

var getHash = function(){
    return window.location.hash.substr(1);
}

若页面地址为 abc.html#test ,则 getHash() 的结果为 test

2. 获取复杂参数

如果需要传递的参数有多个,则传递参数的地址形式类似于 abc.html?id=1&text=test

此时可以通过正则表达式的方式来获取参数。

var getQuery = 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;
}

若页面地址为 abc.html?id=1&text=test ,则 getQuery('id') 的结果为 1

本文参考: http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html