分享

JS获得URL超链接的参数值

 绚爷好人图书馆 2014-01-09
[javascript] view plaincopy
  1. /** 
  2.   * 获取指定URL的参数值 
  3.   * @param url  指定的URL地址 
  4.   * @param name 参数名称 
  5.   * @return 参数值 
  6.   */  
  7.  function getUrlParam(url,name){  
  8.      var pattern = new RegExp("[?&]"+name+"\=([^&]+)", "g");  
  9.      var matcher = pattern.exec(url);  
  10.      var items = null;  
  11.      if(null != matcher){  
  12.              try{  
  13.                     items = decodeURIComponent(decodeURIComponent(matcher[1]));  
  14.              }catch(e){  
  15.                      try{  
  16.                              items = decodeURIComponent(matcher[1]);  
  17.                      }catch(e){  
  18.                              items = matcher[1];  
  19.                      }  
  20.              }  
  21.      }  
  22.      return items;  
  23. }  


当前URL:location.href

前一页面的URL:document.referrer

获取当前URL中参数name的值:getUrlParam(location.href,"name");

获取前一页面URL中参数name的值:getUrlParam(document.referrer,"name");

但是这种方式只能获取=后的一个值,如果有这样的URL:aaa.jsp?info=name=1;sex=2,对于这个URL,用上面的方法获取到的info的值是name,而实际上我需要获取到的是name=1;sex=2。

道理都一样,变换一下,用下面的方法:

[javascript] view plaincopy
  1. /** 
  2.  * 获取当前URL参数值 
  3.  * @param name  参数名称 
  4.  * @return  参数值 
  5.  */  
  6. function getUrlParam(name) {  
  7.        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");  
  8.        var r = window.location.search.substr(1).match(reg);  
  9.        if (r!=null)   
  10.            return unescape(r[2]);   
  11.        return null;  
  12.          
  13. }  


用这个得到的就是:name=1;sex=2

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多