动态

详情 返回 返回

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.