您的位置:首页 > Web前端 > JavaScript

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

2014-11-11 19:16 579 查看
原文链接: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: