JavaScript實(shí)現(xiàn)Url參數(shù)的提取

# 概述

最近最項(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容