[开发笔记]-使用jquery获取url及url参数的方法

使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作

1、jquery获取url很简单,代码如下:

window.location.href;

其实只是用到了javascript的基础的window对象,并没有用jquery的知识。

2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情

首先看看单纯的通过javascript是如何来获取url中的某个参数:

        //获取url中的参数function getUrlParam(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象var r = window.location.search.substr(1).match(reg);  //匹配目标参数if (r != null) return unescape(r[2]); return null; //返回参数值}

通过这个函数传递url中的参数名就可以获取到参数的值,比如url为

http://localhost:33064/WebForm2.aspx?reurl=WebForm1.aspx

我们要获取reurl的值,可以这样写:

var xx = getUrlParam('reurl');

明白了javascript获取url参数的方法,我们可以通过这个方法为jquery扩展一个方法来通过jquery获取url参数,下面的代码为jquery扩展了一个getUrlParam()方法

            (function ($) {$.getUrlParam = function (name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);if (r != null) return unescape(r[2]); return null;}})(jQuery);

为jquery扩展了这个方法了之后我们就可以通过如下方法来获取某个参数的值了:

   var xx = $.getUrlParam('reurl');

完整代码:

    <script src="js/jquery-1.7.2.min.js" type="text/javascript"></script><script type="text/javascript">$(function () {//方法二:(function ($) {$.getUrlParam = function (name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);if (r != null) return unescape(r[2]); return null;}})(jQuery);//方法二:var xx = $.getUrlParam('reurl');//方法一:// var xx = getUrlParam('reurl');
alert(xx);});//方法一://获取url中的参数function getUrlParam(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象var r = window.location.search.substr(1).match(reg);  //匹配目标参数if (r != null) return unescape(r[2]); return null; //返回参数值
        }</script>

2014-4-23 修改

今天在用上面的方法获取url中的参数时,url中传递的中文参数在解析的时候无论怎么测试,获取的都是乱码。经过一番调试后发现,我再传递参数时,对汉字编码使用的是 encodeURI ,而上面的方法在解析参数编码时使用的是unescape ,修改为 decodeURI 就可以了。

附: W3School中的介绍:

JavaScript unescape() 函数

定义和用法

unescape() 函数可对通过 escape() 编码的字符串进行解码。

参数 描述
string 必需。要解码或反转义的字符串。

说明

该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码。

提示和注释

注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。

综上: javascript对参数编码解码方法要一致:

escape()   unescape()

encodeURI()   decodeURI()

encodeURIComponent()    decodeURIComponent()

网上找的另一种javascript获取url中参数的方法:

<script language="JavaScript" type="text/javascript"> function GetUrlParms()    {var args=new Object();   var query=location.search.substring(1);//获取查询串   var pairs=query.split("&");//在逗号处断开   for(var   i=0;i<pairs.length;i++)   {   var pos=pairs[i].indexOf('=');//查找name=value   if(pos==-1)   continue;//如果没有找到就跳过   var argname=pairs[i].substring(0,pos);//提取name   var value=pairs[i].substring(pos+1);//提取value
args[argname]=unescape(value);//存为属性
}return args;}var args = new Object();args = GetUrlParms();//如果要查找参数key:if(args["id"]!=undefined){//如果要查找参数key:var value1 = args["id"] ;alert(value1);}</script>

转载请注明出处。

作者:酷小孩

出处:http://www.cnblogs.com/babycool/

本文首发博客园,版权归作者跟博客园共有。

转载必须保留本段声明,并在页面显著位置给出本文链接,否则保留追究法律责任的权利。

分类: JavaScript,jQuery,开发笔记
好文要顶 关注我 收藏该文

酷小孩
关注 - 112
粉丝 - 269

+加关注

14
1

« 上一篇:[开发笔记]-页面切图、CSS前端设计、JS
» 下一篇:[开发笔记]-flowplayer视频播放插件

posted @ 2013-07-03 11:09 酷小孩 阅读(194217) 评论(5) 编辑 收藏

使用jquery获取url及url参数的方法相关推荐

  1. url 特殊字符 传递参数解决方法

    url 特殊字符 传递参数解决方法 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码. 十六进制值  1. + UR ...

  2. jsjquery获取url域名及参数的方法

    @.1:获取url域名. window.location.host 1.jquery获取url很简单,代码如下 1. window.location.href; 其实只是用到了javascript的基 ...

  3. JQUERY获取当前页面的URL信息

    window.location 属性 描述 hash 设置或获取 href 属性中在井号"#"后面的分段. host 设置或获取 location 或 URL 的 hostname ...

  4. express获取url路由地址参数的方法 获取get请求参数

    用express写接口我觉得是非常快的,直接集成好了. 下面来说说express获取路由地址参数的方法. var express=require('express'); var app=express ...

  5. Python selenium Browsermob-Proxy获取网页加密请求参数的方法及过程

    一.问题 爬虫在获取页面数据时可能会遇到许多页面异步加载.js加密.动态Cookie等问题,我们在做爬虫开发的时候经常用到浏览器的开发者工具,分析网页元素,查看资源加载(Network)等.Selen ...

  6. php 判断百度浏览器版本,jquery获取浏览器类型和版本号的方法

    分享一个通过jquery获取浏览器类型和浏览器版本号的函数方法.具体jquery代码如下: $(document).ready(function(){ varbrow=$.browser; varbI ...

  7. Jquery获取服务器端控件ID的方法

    <asp:textbox runat="server" id="txtMessage" textmode="SingleLine"&g ...

  8. action中获取jsp页面的参数的方法

    实例:现在jsp页面传递一个名为username的参数到action中 url:   http://localhost:8080/StudentSystem/role_list.action?user ...

  9. spring aop如何在切面类中获取切入点相关方法的参数、方法名、返回值、异常等信息

    aop思想可以很好的帮助我们实现代码的解耦,比如我们之前提到的,将日志代码与业务层代码完全独立,通过spring aop的代理类进行整合.在切面类中,我们也能够通过spring提供的接口,很好的获取原 ...

  10. Zencart获取PayPal PDT Token参数教程方法

    本文首发于:烂泥行天下www.lanni654321.com 由LureDresswww.luredress.com 提供赞助 在商城程序中设置付款方式的时候,最多用到的就是paypal付款.在设置的 ...

最新文章

  1. 【转】java读写二进制文件的解决方法
  2. ASP.NET 自定义404错误页面
  3. elementui中有导出组件吗_Element-ui组件库Table表格导出Excel表格
  4. Oracle序列小结
  5. Django-用户认证组件
  6. 《C++代码设计与重用》——2.7 转型
  7. 串口通信实例vb.net serialport
  8. oppo手机解锁_OPPO手机忘记解锁密码怎么办 解锁手机密码
  9. “海选优品,泉网打尽”胡海泉抖音直播带货首秀告捷 柏厨集成家居塔奇、I-LOFT惊艳亮相
  10. 有域名得git是怎么弄得_部署到Github Pages上的博客,自定义域名,和免费域名如何申请...
  11. 计算机专业注意身体,请注意身体 长时间使用电脑对身体的危害
  12. 力扣96.不同的二叉搜索树
  13. 买火车票的过来看看,提供一个小工具,不一定能买到票,但是可以实现自动登录,自动刷票,自动重新提交订单!...
  14. 明翰英语教学系列之雅思写作篇V0.2(持续更新)
  15. SSH日期录入,日期精确不能精准到时分秒处理
  16. Keil MDK中的Code, RO-data , RW-data, ZI-data分别代表什么意思?(转)
  17. Virus_JS3_PyAnalysisAndSummary
  18. Git 提交规范之GIt工作流规范(Husky+eslint+stylelint+pretty+Commitlint+ lint-staged)
  19. LPDDR4x 的 学习总结(3) - SDRAM基本功能
  20. 判断是pc端还是手机端

热门文章

  1. 云ERP如何助力企业管理?ERP上云的好处
  2. 大数据的架构设计与未来
  3. CentOS发行版本与内核版本对应关系
  4. ctfshow 做题 萌新 模块(3)
  5. GetFocus\SetFocus\LostFocus区别
  6. beats耳机红白交替闪烁三次_beats耳机红白灯交替闪如何解决
  7. 解决对路径bin\roslyn..的访问被拒绝
  8. fortran内存不足的解决方法
  9. Android 7.0拍照/相册/截取图片FileProvider使用
  10. 猫猫学IOS(十八)UI之QQ聊天布局_键盘通知实现自动弹出隐藏_自动回复