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

Javascript 获取URL参数

2013-08-07 13:55 253 查看
方法一:

// url:http://localhost:8080/jsTest?id=111
function getUrlParameter(name) {
    var regExp = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");

    /*
    * window.location.search
    * 返回 ?id=111
    */

    /*
    * window.location.search.substr(1)
    * 返回 id=111
    */

    /*
    * window.location.search.substr(1).match(regExp)
    * 返回一个数组,下标0返回的是匹配文本本身,下标2返回的是匹配结果
    * 当然如果没有匹配结果返回null
    */
    var array = window.location.search.substr(1).match(regExp);
    if(array != null){
        //unescape对返回的结果进行解码
        return unescape(array[2]);
    }else{
        return null;
    }
}

//调用返回111
getUrlParameter("id");
注:参考
Js 计算汉字的长度

方法二:

// url:http://localhost:8080/jsTest?id=111
function getUrlParameter() {
    var url = location.search;//获取url中"?"符号后的字符串?id=111
    var urlParameter = new Object();
    if(url.indexOf("?") != -1) {
        var str = url.substr(1);//返回去掉"?"的子串id=111
        var parameterArray = str.split("&");//返回一个数组,如果没有"&"就返回id=111,适用多个参数
        var parameterArrayLength = parameterArray.length;

        for(var i = 0; i < parameterArrayLength; i++) {
            var nameAndValueArray = parameterArray[i].split("=");//把parameterArray的第i个元素用"="分割成数组
            var name = nameAndValueArray[0];//"="左边的是名字
            var value = nameAndValueArray[1];//"="右边的是值
            urlParameter[name]= unescape(value);//把编码后的结果赋给urlParameter
        }
    }

    return urlParameter;
}

var parameter = getUrlParameter();
var value = parameter["id"];//取得返回结果
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: