获取url中?后携带的某个参数(包含带埋点的url),没有值的话就设置默认值

  
//函数
  UrlRegExpKey(regExpValue,DefaultsValue){
    let windowUrl = window.location.href;
    let spm = new RegExp("spm")
    //如果地址栏里面有spm(埋点)就取第二?后面参数,没有就是第一?后参数
    if(spm.test(windowUrl)){
      return UrlHelper.handleSplitUrl(2 ,windowUrl,regExpValue,DefaultsValue)
    }else{
      return UrlHelper.handleSplitUrl(1,windowUrl,regExpValue,DefaultsValue)
    }
  }

  handleSplitUrl(number ,windowUrl,regExpValue,DefaultsValue){

    let regowner = new RegExp(regExpValue)
    let ownerFromUrl;
    if (regowner.test(windowUrl) ) {
      if (windowUrl.split("?") && windowUrl.split("?")[number]&& windowUrl.split("?")[number].split("&")) {
        let ownerUrlSplitArr = windowUrl.split("?")[number].split("&")
        for (let i = 0; i < ownerUrlSplitArr.length; i++) {
          if(regowner.test(ownerUrlSplitArr[i])){
            ownerFromUrl = ownerUrlSplitArr[i].split("=")[1]
            return ownerFromUrl
          }
        }
      }
    }else{
     return DefaultsValue
    }
  }
posted @ 2021-01-21 10:40  HandsomeGuy  阅读(278)  评论(0)    收藏  举报