對(duì)前端同學(xué)來說,經(jīng)常要碰到一種比較麻煩的情況,那就是url查詢字符串的解析問題。說起來也不難,就是比較麻煩。

  具體來處理這種情況的時(shí)候,相信有一部分同學(xué)就是針對(duì)具體項(xiàng)目中的需要的字符去正則匹配一下,業(yè)務(wù)需求嘛,解決就算了。原來我也是這樣干的。不過最好還是抽一種方法出來,畢竟這種工具類的發(fā)放很多地方都會(huì)用到。當(dāng)然現(xiàn)在github上有很多大牛的作品可以借鑒。今天自己也來實(shí)現(xiàn)一下。

  總體思路很簡(jiǎn)單,就是正則去匹配看是否有查詢字符串的出現(xiàn),不過為了功能豐富點(diǎn)也就是隨手加上了支持自定義字符串的解析(有點(diǎn)雞肋),可選返回的是數(shù)組或者對(duì)象。具體處理可以見代碼:

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

/**
 * @method queryString
 * @param getObj 結(jié)果為對(duì)象否則為數(shù)組
 * @default false
 * @param str 需要解析的string
 * @default location.search
 * @return Object or Array
 * */function queryString(getObj,str){    var string = (str!== undefined) ? str :  window.location.search;    var result = string.match(new RegExp("[^\?\&]+=[^\?\&]+","g"));    if(result == null){
        result = '';
    }else if(getObj){        var params = {};        for(var i = 0; i < result.length; i++){            var res = result[i].split('=');            var key = res[0],