jquery获取url参数

使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作,下面通过文字说明加代码分析的形式给大家解析,具体详情请看下文。

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

javascript 复制代码
window.location.href;

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

2、jquery获取url参数比较复杂,要用到正则表达式

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

javascript 复制代码
//获取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://local:3000/qxmkclq/index.html?vid=015da6f7e74efdfe6557a032bc9740

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

javascript 复制代码
var xx = getUrlParam('vid');

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

javascript 复制代码
(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扩展了这个方法了之后我们就可以通过如下方法来获取某个参数的值了:

javascript 复制代码
var xx = $.getUrlParam('vid');

完整代码:

html 复制代码
<script src="//cdn.staticfile.org/jquery/1.8.0/jquery-1.8.0.min.js" type="text/javascript"></script>
<script>
    $(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 xx2 = 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>
相关推荐
aklry几秒前
uniapp三步完成一维码的生成
前端·vue.js
Rubin937 分钟前
判断元素在可视区域?用于滚动加载,数据埋点等
前端
爱学习的茄子8 分钟前
AI驱动的单词学习应用:从图片识别到语音合成的完整实现
前端·深度学习·react.js
用户3802258598248 分钟前
使用three.js实现3D地球
前端·three.js
程序无bug11 分钟前
Spring 面向切面编程AOP 详细讲解
java·前端
zhanshuo11 分钟前
鸿蒙UI开发全解:JS与Java双引擎实战指南
前端·javascript·harmonyos
JohnYan11 分钟前
模板+数据的文档生成技术方案设计和实现
javascript·后端·架构
撰卢35 分钟前
如何提高网站加载速度速度
前端·javascript·css·html
10年前端老司机40 分钟前
在React项目中如何封装一个可扩展,复用性强的组件
前端·javascript·react.js
Struggler28143 分钟前
解决setTimeout/setInterval计时不准确问题的方案
前端