使用jquery获取url及url参数的简单实例


Posted in Javascript onJune 14, 2016

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

以上这篇使用jquery获取url及url参数的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript使用prototype定义对象类型
Feb 07 Javascript
javascript实现颜色渐变的方法
Oct 30 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
May 13 Javascript
小结Node.js中非阻塞IO和事件循环
Sep 18 Javascript
javascript实现单击和双击并存的方法
Dec 13 Javascript
jQuery基础知识小结
Dec 22 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
Jul 22 Javascript
EasyUI学习之DataGird分页显示数据
Dec 29 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
Jul 03 Javascript
深入探究node之Transform
Jul 20 Javascript
Vue引入jquery实现平滑滚动到指定位置
May 09 jQuery
koa源码中promise的解读
Nov 13 Javascript
JS操作JSON方法总结(推荐)
Jun 14 #Javascript
JavaScript Promise 用法
Jun 14 #Javascript
Javascript基础_简单比较undefined和null 值
Jun 14 #Javascript
Javascript缓存API
Jun 14 #Javascript
JS修改地址栏参数实例代码
Jun 14 #Javascript
JS获取地址栏参数的两种方法(简单实用)
Jun 14 #Javascript
Javascript基础_嵌入图像的简单实现
Jun 14 #Javascript
You might like
解析PHP无限级分类方法及代码
2013/06/21 PHP
解析php常用image图像函数集
2013/06/24 PHP
PHP实现取得HTTP请求的原文
2014/08/18 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
javascript获取当前ip的代码
2009/05/10 Javascript
JavaScript 学习历程和心得分享
2010/12/12 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
js实现登录验证码
2016/12/22 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
js验证身份证号码记录的方法
2019/04/26 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
[14:36]2014 DOTA2国际邀请赛中国区预选赛5.21 Orenda VS NE
2014/05/22 DOTA
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Python中表示字符串的三种方法
2017/09/06 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
static关键字的用法
2013/10/07 面试题
生产经理的自我评价分享
2013/11/07 职场文书
数控技术应届生求职信
2013/11/13 职场文书
社团文化节邀请函
2014/01/10 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
实习指导教师评语
2014/12/30 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
500字作文之难忘的同学
2019/12/20 职场文书