# 概述
最近最項(xiàng)目時(shí)遇到,提取url參數(shù)部分并分割成不同的步驟,為了方便以后遇到同樣的功能,將提取url參數(shù)部分寫成一個方法;
# 知識點(diǎn)
## 獲取url的參數(shù)部分
var str = window.location.search
注意: 參數(shù)含有中文字符是可能出現(xiàn)亂碼的現(xiàn)象故需要進(jìn)行解碼操作,即是:
var str = decodeURIComponent(window.location.search);
## 分割字符串slpit
split() :把一個字符串分割成字符串?dāng)?shù)組
語法:?
stringObject.split(separator,howmany)
separator必需。字符串或正則表達(dá)式,從該參數(shù)指定的地方分割 stringObject。
howmany可選。該參數(shù)可指定返回的數(shù)組的最大長度。如果設(shè)置了該參數(shù),返回的子串不會多于這個參數(shù)指定的數(shù)組。如果沒有設(shè)置該參數(shù),整個字符串都會被分割,不考慮它的長度;
# 實(shí)現(xiàn)
// 格式化URL參數(shù)
function formateSearchParam(str) {
// 提取?之后的所有字符并且根據(jù)&分割字符串
var arr = str.substr(1).split('&');
// 定義一個對象來存放分割后的參數(shù)以及參數(shù)值
var object = {};
for (var i = 0; i < arr.length; i++) {
// 通過'='分割字符串?dāng)?shù)組arr中的每一項(xiàng)
var arr1 = arr[i].split('=');
// 按key: value的形式存儲
object[arr1[0]] = arr1[1];
}
return object;
}
# URL格式
URL: http://127.0.0.1/demo/index?id=123&state=1&num=345