当我们需要获取链接地址中“?”后面的参数时,除了用split方法去一步步拆分之外,还可以用正则更加方便的实现,见下文:
函数定义
/** * @param name 参数名 * @return * 参数值 */ function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return decodeURIComponent(r[2]); } return null; }
使用实例
// 以 http://www.taobao.com?id=123&q=test 为例 getQueryString('id'); // 123 getQueryString('q'); // test
在实际项目中,会非常有用,可以收藏起来。