封裝getParam方法 ,獲取URL

王東煜發表於2019-10-07
match實現 getParam();
        var str = 'http://www.zhufengpeixun.cn/?lx=1&from=wx&b=12&c=13';
        function getParam(url) {
            var reg = /([^?=&]+)=([^?=&#]+)/g; //以=號分割,獲取想要的字元
            var obj = {};
            url.match(reg).forEach(item => {   //match分割直接是大正則內容["lx=1", "from=wx", "b=12", "c=13"]
                let a = item.split('=');//需要再以=切割一下變成:["lx", "1"]
                obj[a[0]] = a[1]//直接拿索引0和索引1就可以了
            })
            let v = url.match(/#(.+)/) ? url.match(/#(.+)/)[1] : null;
            obj.hash = v;
            return obj;
        }
        console.log(getParam(str));//{lx: "1", from: "wx", b: "12", c: "13"}
        
        
        replace 實現1getParam();
        var str = 'http://www.zhufengpeixun.cn/?lx=1&from=wx&b=12&c=13';
        function getParam(url) {
            var reg = /([^?=&]+)=([^?=&#]+)/g; //以=號分割,獲取想要的字元
            let obj ={};
            var res = str.replace(reg,function($0,$1,$2){//$0代表大正則內容 $1代表第一個分組 $2代表第二個分組
            console.log($0,$1,$2);//lx=1 lx 1
                obj[$1] = $2;
            })
            let v = url.match(/#(.+)/) ? url.match(/#(.+)/)[1] : null;
            obj.hash = v;
            return obj;
        }
        console.log(getParam(str));//{lx: "1", from: "wx", b: "12", c: "13"}

複製程式碼

相關文章