javaScript用正则来获取url传递的参数

用window.location.href获取url再js正则来获得需要的参数;

这个正则有多种写法,这里我选择这样写,要查找的属性名我直接以参数的形式传进去,用正则查找,以"?&#"这三个其中一个符号开头+属性名变量+等号和后面要查找除了"?&#"这三个符号的字符.正则写完之后我选择用exec这个方法来查找,这个方法会把查找到的结果以数组的形式返回,我再把等号后面的结果单独分一个组(在正则里面用"()"包起来的是一个分组),这样找到的结果里面就有二个分组一个是类似于'?key=110'这种和单独一个'110'的属性值分组第二个分组就是我们要的结果,返回第二个分组即可.(这就是我查找的思路,当然写法有很多)

正则

    /*正则获取URL参数*/
        function queryURLParams(url, name) {
            var pattern = new RegExp("[?&#]+" + name + "=([^?&#]+)");
            var res = pattern.exec(url);
            console.log(res);
            if (!res) return;
            if (!res[1]) return;
            return res[1];
        }
        var url = "https://news.cnblogs.com/?key=110&id=123456";
        var res = queryURLParams(url, "key");
        console.log(res);    

使用方法

getParameterByName(url,"name")

结果示例

posted @ 2019-07-29 15:13  雪旭  阅读(1238)  评论(0编辑  收藏  举报