码迷,mamicode.com
首页 > 编程语言 > 详细

关于javascript如何取得页面传递参数

时间:2015-11-20 16:56:57      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

http://localhost:2907/content.html?id=1099&name=kangjia像之前一直不知道怎么在页面中获取页面传递过来的参数(id=1099&name=kangjia)

先来贴一段代码:

    function getQueryStr(name) {
        var reg = new RegExp("[\?\&]" + name + "=([^\&]*)(\&?)");
        var value = window.location.search.match(reg); //window.location.search.toString()获取请求参数
        
        if (value) {
            value = decodeURIComponent(value ? value[1] : value);
        }
        return value;
    }

通过这个方法可以获取我想要的参数

 var reg = new RegExp("[\?\&]" + name + "=([^\&]*)(\&?)");

这行代码是声明一个正则字符串根据传过来的参数形成的字符串。例如:传过啦的参数是"id"那么reg=new RegExp("[\?\&]id=([^\&]*)(\&?)");

var value = window.location.search.match(reg);

这行代码是获取我们的请求参数并且将请求参数根据我们形成的参数正则表达式进行切割分组(0:?id=1099&;1:1099;2:&)

 if (value) {
            value = decodeURIComponent(value ? value[1] : value);
        }
decodeURIComponent(str);js自带的方法;

技术分享

方法二:
 function getRequest(name) {

        var result = null;
        var url = window.location.search;//?id=1099&name=taowang
        if (url.indexOf("?") != -1) {
            var url = url.substr(1);//id=1099&name=taowang
            var arr = url.split("&");//id=1099  name=taowang
            for (var i = 0; i < arr.length; i++) {
                if (arr[i].indexOf(name) != -1) {
                    result = arr[i].substr(name.length + 1);
                    break;
                }
                /*
                var results = arr[i].split("=");
                for (var j = 0; j < results.length; j++) {
                    if (name == results[0]) {
                        result = results[1];
                    }
                }*/
            }
        }
        return result;
    }

 

关于javascript如何取得页面传递参数

标签:

原文地址:http://www.cnblogs.com/sstw/p/4980884.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!