Javascript 获取链接(url)参数的方法

 作者: YITU.org     来源: YITU.org    

时间: 2007-02-26 10:34:58

有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值。本文给出的就是这个流程的具体实现方法。

当然,我们也可以用正则直接匹配,文章中也给出了一个正则的例子。


--------------------------------------------------------------
点此浏览示例文件
--------------------------------------------------------------


分解链接的方式:
Javascript :


   
   
  1.  
  2. <script type= "text/javascript " >
  3. <!--
  4. // 说明:Javascript 获取链接(url)参数的方法
  5. // 整理:http://www.CodeBit.cn
  6.  
  7. function getQueryString ( name )
  8. {
  9. // 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空
  10. if ( location. href . indexOf ( "?" ) == -1 || location. href . indexOf ( name + '=' ) == -1 )
  11. {
  12. return '' ;
  13. }
  14.  
  15. // 获取链接中参数部分
  16. var queryString = location. href . substring ( location. href . indexOf ( "?" ) +1 ) ;
  17.  
  18. // 分离参数对 ?key=value&key2=value2
  19. var parameter s = queryString. split ( "&" ) ;
  20.  
  21. var pos, paraName, paraValue;
  22. for ( var i= 0 ; i< parameter s. length ; i++ )
  23. {
  24. // 获取等号位置
  25. pos = parameter s [ i ] . indexOf ( '=' ) ;
  26. if ( pos == -1 ) { continue ; }
  27.  
  28. // 获取name 和 value
  29. paraName = parameter s [ i ] . substring ( 0 , pos ) ;
  30. paraValue = parameter s [ i ] . substring ( pos + 1 ) ;
  31.  
  32. // 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格
  33. if ( paraName == name )
  34. {
  35. return unescape ( paraValue. replace ( //+/g , " " ) ) ;
  36. }
  37. }
  38. return '' ;
  39. } ;
  40.  
  41. //http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
  42. alert ( getQueryString ( 'test' ) ) ;
  43. //-->
  44. </script>
  45.  




用正则匹配的方式:
Javascript :


   
   
  1.  
  2. <script type= "text/javascript " >
  3. <!--
  4. function getQueryStringRegExp ( name )
  5. {
  6. var reg = new RegExp ( "(^|// ?|&)" + name + "=([^&]*)(// s|&|$)" , "i" ) ;
  7. if ( reg. test ( location. href ) ) return unescape ( RegExp.$ 2 . replace ( //+/g , " " ) ) ; return "" ;
  8. } ;
  9.  
  10. //http://localhost/test.html?aa=bb&test=cc+dd&ee=ff
  11. alert ( getQueryStringRegExp ( 'test' ) ) ;
  12. //-->
  13. </script>
  14.  
源地址:http://www.codebit.cn/pub/html/javascript/tip/javascript_get_url_parameter/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值