動態

詳情 返回 返回

js解析url的三種方法 - 動態 詳情

js解析url,將如下url中的參數解析為key-value對象
https://mp.weixin.qq.com/adva...

方法1,split() + 循環依次取出

parseURLParams(url) {
    let queryParams = {}
    // 判斷是否有參數
    if (url.indexOf('?') < 0) return queryParams
    // 分離域名和參數
    let domainAndParams = url.split('?')
    // 參數切分
    let queryStr = domainAndParams[1]
    let queryItems = queryStr.split('&')
    // 循環參數,把參數轉為鍵值對
    queryItems.forEach(item => {
        let paramKV = item.split('=')
        queryParams[paramKV[0]] = paramKV[1]
    })
    // 返回參數鍵值對
    return queryParams
}

方法2,正則 + arguments

parseURLParams(url) {
    let queryParams = {}
    // 正則匹配規則
    let reg = /([^?=&]+)=([^?=&]+)/g
    // 利用replace替換
    url.replace(reg, function() {
        // 用偽數組進行鍵值對拼接
        queryParams[arguments[1]] = arguments[2]
    })
    // 返回參數鍵值對
    return queryParams
}

方法3,正則 + ...arg

parseURLParams(url) {
    let queryParams = {}
    // 正則匹配規則
    let reg = /([^?=&]+)=([^?=&]+)/g
    // 利用replace替換
    url.replace(reg, function() {
        // 用偽數組進行鍵值對拼接
        queryParams[arguments[1]] = arguments[2]
    })
    // 返回參數鍵值對
    return queryParams
user avatar littlelyon 頭像 paolongtaodeniupai 頭像 zzd41 頭像 hyfhao 頭像 nznznz 頭像 happy2332333 頭像 tizuqiudehongcha 頭像 asmallwhitecat 頭像 crow_5c1708a9c847d 頭像 mi2nagemao 頭像 wojiaocuisite 頭像 jerryc 頭像
點贊 51 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.