1. 程式人生 > >前端解析當前url中的引數

前端解析當前url中的引數

前端專案中,必不可少的需要用到解析當前url,從而獲取其中的引數。

測試:

注意:這裡獲取的引數值都為String型別

/**
 * url引數解析
 * @example String "https://mp.csdn.net?id=123456&a=b"
 * @return Object {id:"123456",a:"b"}
 */
export function urlParse () {
  let url = window.location.href
  let obj = {}
  /*
  * 正則匹配
  * [?&]:匹配?或&其一
  * [^?&]:非?或非&
  * */
  let reg = /[?&][^?&]+=[^?&]+/g
  let arr = url.match(reg) // return ["?id=123456","&a=b"]
  if (arr) {
    arr.forEach((item) => {
      let tempArr = item.substring(1).split('=')
      let key = tempArr[0]
      let val = tempArr[1]
      obj[key] = val
    })
  }
  return obj
}