js获取url参数值 的2种方式

原文链接:http://www.cnblogs.com/jiekk/archive/2011/06/28/2092444.html

今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split("?")这样一步步的分解出需要的参数。

后来想了一下,肯定会有更加简单的方法的!所以在网上找到了两个很又简单实用的方法,mark下

方法一:正则分析法

 function getQueryString(name) {

  
  
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}

这样调用:

  
  
alert(GetQueryString("参数名1"));

alert(GetQueryString(
"参数名2"));

alert(GetQueryString(
"参数名3"));
方法二:(自己做了点修改)

//js获取url传递参数
function GetRequest() {
    var url = location.search; //获取url中"?"符后的字串 ?id=参数
    var theRequest = new Object();
    if (url.indexOf("?") != -1) { //判读是否存在 ? 就是判断是否有参数
        var str = url.substr(1); //获得 id=参数
        if (str.indexOf("&") != -1) {  //有多个参数
            strs = str.split("&");
            for (var i = 0; i < strs.length; i++) {
                theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]); //decodeURI()解码
            }
        } else {//只有一个参数
            theRequest[str.split("=")[0]] = decodeURI(str.split("=")[1]);
            //theRequest[id]=参数
        }
    }
    //alert(theRequest["id"]);
    return theRequest;
}


var Request = new Object();
Request = GetRequest();//获得参数数组
var par= Request["id"];

其他参数获取介绍:
//设置或获取对象指定的文件名或路径。
alert(window.location.pathname) ;

//设置或获取整个 URL 为字符串。

alert(window.location.href) ;

//设置或获取与 URL 关联的端口号码。

alert(window.location.port) ;


//设置或获取 URL 的协议部分。

alert(window.location.protocol) ;

//设置或获取 href 属性中在井号“#”后面的分段。

alert(window.location.hash) ;

//设置或获取 location 或 URL 的 hostname 和 port 号码。

alert(window.location.host) ;

//设置或获取 href 属性中跟在问号后面的部分。

alert(window.location.search);

Email:gaojun_le@163.com



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值