7 个回答

感觉你这问题问的不太合格啊。你是要获取这个departmentIds的值吗?建议重新编辑下。
直接贴代码更好些。


location.search.match(/departmentIds=([^&]*)\b/g)
// ["departmentIds=10046", "departmentIds=10046"]
// 或者直接用location.href

locaotion.search

你这地址不合适吧,多个值的话最好是做成数组
&departmentIds[]=10046&departmentIds[]=10045

function getParameter(parName){ var str = parName.toLowerCase() + "=";
        var gvalue = "";
        var HREF = location.href;
        var upperHREF = location.href.toLowerCase();
        if(upperHREF.indexOf(str)>0){
        gvalue = HREF.substring(upperHREF.indexOf(str) + str.length,upperHREF.length);
        if(gvalue.indexOf('&')>0) gvalue = gvalue.substring(0,gvalue.indexOf('&'));
        if(gvalue.indexOf("#")>0) gvalue = gvalue.split("#")[0];
        }
        return gvalue;
}

parName为要获取的参数名,如:id=getParameter("id")

新手上路,请多包涵

function GetQueryString(name){

    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if(r!=null)return  unescape(r[2]); return null;
}
自己用的 也是网上搜的 直接传参数名进去就行
getUrlParam (name) {
  let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
  let value = ''
  let arrHash = window.location.hash.split('?')
  let arrSearch = window.location.search.substr(1).split('?')
  
  arrHash.shift()
  let hrefstr = arrSearch[0] !== '' ? arrSearch : arrHash
  
  for (let i = 0; i < hrefstr.length; i++) {
    let r = hrefstr[i].match(reg)
    if (r !== null && r[2]) {
      value = r[2]
      break
    }
  }
  return value
}

谢邀,但是这个问题真的不知道是太简单还是没描述好,已经很多人回答了,location.search返回的字符串,自己分割下,如果有特殊字符的话,比如参数值有&=之类的,记得使用encodeurlcomponent编码下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题