正则捕获url的?号传值

http://www.baidu.com/Q?k=0012719021908563998510650

有时候,我们需要在静态页面捕获?号传值,这时就需要用到js的正则表达式。

例如:我们要获取上面这个url的k的值

   function getQueryString(name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
            var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i");
            var r = window.location.search.substr(1).match(reg);
            var q = window.location.pathname.substr(1).match(reg_rewrite);
            if (r != null) {
               // alert(unescape(r[2]));
                return unescape(r[2]);

            } else if (q != null) {
               // alert(unescape(q[2]));
                return unescape(q[2]);
            } else {
               // alert('正则未捕获');
                return null;
            }
        }

使用方法:

getQueryString("k")

 

posted @ 2019-03-18 16:54  幸福安康  阅读(196)  评论(0编辑  收藏  举报