對前端同學來說,經常要碰到一種比較麻煩的情況,那就是url查詢字串的解析問題。說起來也不難,就是比較麻煩。
具體來處理這種情況的時候,相信有一部分同學就是針對具體專案中的需要的字元去正則匹配一下,業務需求嘛,解決就算了。原來我也是這樣幹的。不過最好還是抽一種方法出來,畢竟這種工具類的發放很多地方都會用到。當然現在github上有很多大牛的作品可以借鑑。今天自己也來實現一下。
總體思路很簡單,就是正則去匹配看是否有查詢字串的出現,不過為了功能豐富點也就是隨手加上了支援自定義字串的解析(有點雞肋),可選返回的是陣列或者物件。具體處理可以見**:
/** * @method querystring
* @param getobj 結果為物件否則為陣列
* @default false
* @param str 需要解析的string
* @default location.search
* @return object or array
* */
function
querystring(getobj,str)
else
if(getobj);
for(var i = 0; i < result.length; i++)
result =params;
}return
result;
}
2、關於業務方的需求,用一句話來形容比較合適:天長地久有時盡,需求變動無絕期。可能你有時候說,後端tm不需要全部的查詢字串他只要乙個或者多個,反正就不要全部的。你給我個物件還是需要處理呀,能不能一步到位暴露獲取具體的某個key的值的方法。當然既然都抽出來了那就要有這個意識。
還是先說實現,其實與上面的思路也很類似只不過就是去匹配具體值了,然後返回字串嘍 :具體見**
1 /** 2 * @method querybykey 獲取指定key的值
3 * @param key
4 * @default null
5 * @return string
6 *
*/ 7 function
querybykey(key)
3、此外在方法一的基礎上還可以新增乙個方法,根據索引來獲取具體值:
1 /** 2 * @method querybykey 獲取指定index的值
3 * @param index
4 * @default null
5 * @return string
6 *
*/ 7 function
querybyindex(index)
一句話拋磚引玉,希望有大牛來不吝賜教。有興趣的同學可以移步到
參考文章:
用內建 querystring 模組解析請求體資料
用querystring模組解析請求體資料 node.js內建了乙個querystring模組,專門用來處理查詢字串。通過這個模組提供的parse 函式,可以輕鬆把查詢字串,解析成物件的格式 碼 匯入 express 模組 const express require express 建立 expre...
不再為頻繁的QueryString解析而苦惱
在做asp.net開發的時候,很多人都對頻繁地解析querystring中的值而苦惱,因為會在幾乎每個頁面上編寫相似的 將位址中的引數轉換為相應的值。假設有乙個頁面用來顯示文章的內容,並且需要由querystring中的id引數提供文章的id,請參考以下 string arg guid aritcl...
QueryString工具函式
querystring使用方法 1 單獨使用 pagejsdataobj.querystring aaa 獲取url中aaa引數 2 物件引數 var a pagejsdataobj.querystring 獲取url中aa和bb引數 若沒有該引數則返回引數物件值 a.aa這個是aa引數,若沒有該引...