JavaScript 获取URL参数,并解码UTF-8

来源:互联网 发布:eviews for mac 编辑:程序博客网 时间:2024/05/16 19:18

JQ 获取

 (function ($) {
            $.extend({
                Request: function (m) {
                    var url = location.href;
                    var query = url.replace(/^[^\?]+\??/, '');
                    var Params = {};
                    if (!query) { return null; } // return null
                    var Pairs = query.split(/[;&]/);
                    for (var i = 0; i < Pairs.length; i++) {
                        var KeyVal = Pairs[i].split('=');
                        if (!KeyVal || KeyVal.length != 2) { continue; }
                        var key = unescape(KeyVal[0]);
                        var val = unescape(KeyVal[1]);
                        val = val.replace(/\+/g, ' ');
                        Params[key] = val;
                    }
                    return Params[m];
                }
            });
        })(jQuery);


JS取得浏览器URL参数:


 <script language="javascript">
var str=window.location.href; //取得url
var es=/Error=/;  //正则匹配参数名称:Error=
es.exec(str);
var right=RegExp.rightContext;
document.write(decodeURI(right)); //对参数进行UTF-8解码
alert(decodeURI(right));
</script>



提示:匹配参数时仅可以匹配 最后一项参数!!


通用JS,可以获取任意参数,浏览器兼容。

<script>
        function GetRequest() {
            var url = location.search; //获取url中"?"符后的字串   
            var theRequest = new Object();
            if (url.indexOf("?") != -1) {
                var str = url.substr(1);
                strs = str.split("&");
                for (var i = 0; i < strs.length; i++) {
                    theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
                }
            }
            return theRequest;
        }

        var Request = new Object();
        Request = GetRequest();
        var t;
        t = Request['b'];
        alert(t);
    </script>