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

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

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


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


分解链接的方式:
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 parameters = queryString. split ( "&" );
  20.  
  21. var pos, paraName, paraValue;
  22. for ( var i= 0; i<parameters. length; i++ )
  23. {
  24. // 获取等号位置
  25. pos = parameters [i ]. indexOf ( '=' );
  26. if (pos == -1 ) { continue; }
  27.  
  28. // 获取name 和 value
  29. paraName = parameters [i ]. substring ( 0, pos );
  30. paraValue = parameters [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.  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值