转载自:作者:酷小孩      出处:http://www.cnblogs.com/babycool/

使用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>

转载请注明出处。

转载于:https://www.cnblogs.com/CherishZeng/p/9269026.html

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

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

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

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

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

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

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

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

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

  5. javaweb学习笔记2(jquery的使用,以及常用的方法,选择器,过滤器)

    javaweb学习笔记2 javascript正则表达式 regfxp对象 方式1: var putt=new RegExp("e");//表示要求字符串中必须包含字符串evar ...

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

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

  7. Android开发笔记(十三)视图绘制的几个方法

    三个可进行绘制的方法 在自定义视图中,有三个函数可以重写用于界面绘制,在视图创建过程中,三个函数的执行顺序依次是:onLayout.onDraw.dispatchDraw. 1.onLayout(bo ...

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

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

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

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

最新文章

  1. windows 7装IIS
  2. 7000字 Redis 超详细总结笔记总 | 收藏必备!
  3. 使用iso升级_华佗品牌战略升级 彰显百年品质-产经要闻
  4. JavaScript学习笔记(四)——jQuery插件开发与发布
  5. ipfs-hdfs分布式文件系统
  6. python自带的库有哪些餐厅_Python 常用的标准库以及第三方库有哪些
  7. kafka保证数据可靠性的方式
  8. Mysql基础知识--视图
  9. ElasticSearch2.1 基于空间位置geo_query距离计算
  10. 线性查找算法(BFPRT)
  11. 分享一个帮助你有效避免SQL Injection攻击的在线手册 - bbobby-tables.com
  12. php mail带附件,Pear Mail 发送邮件带附件_PHP教程
  13. excel 数据透视表完成分类汇总
  14. html工资计算页面模板,工资计算表Excel模板
  15. android 开发 耳机接口 自拍,首次用KXD手机就为之倾倒,这就是KXD K30手机带来了魅力...
  16. 烤仔TVのCCW | 智能合约间的四种调用(下)
  17. 特斯拉降价也无法阻挡国内新能源汽车厂商前进的步伐
  18. “顺丰杯”包装设计大赛背后的故事:浅谈顺丰的产学研包装生态圈布局
  19. 嵌入式开发什么时候需要用RTOS?
  20. Python结合MySQL数据库编写简单信息管理系统

热门文章

  1. 由1 2 3 4可以组成多个十百 无重复的数字
  2. HDU-1255 覆盖的面积 矩形面积交
  3. 利用HTML+JS+CSS实现简单的网页计算器,附html所有源代码,可直接黏贴运行
  4. 『天涯杂谈』走的地方越多,越觉的中国的狭隘
  5. python换行输出到文件_Python的quot;printquot;函数在“Hello World”之外的延伸
  6. 20个开源Flutter项目推荐
  7. Dialog高仿Toast实现
  8. 小芭比linux怎么装win7_小户型再怎么装也是小?看完我闭嘴了
  9. java一个引用多大_为什么Java 8为方法引用引入了一个新的“::”运算符?
  10. html让时间只展示年月日_JS 如何动态显示当前年月日时分秒-百度经验