JS获取URL中参数值(QueryString)的4种方法分享


Posted in Javascript onApril 12, 2014

方法一:正则法

function getQueryString(name) {
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        return unescape(r[2]);
    }
    return null;
}
// 这样调用:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));

方法二:split拆分法

function GetRequest() {
    var url = location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}
var Request = new Object();
Request = GetRequest();
// var 参数1,参数2,参数3,参数N;
// 参数1 = Request['参数1'];
// 参数2 = Request['参数2'];
// 参数3 = Request['参数3'];
// 参数N = Request['参数N'];

方法三:又见正则

通过JS获取url参数,这个经常用到。比如说一个url:http://w3water.com/?q=js,我们想得到参数q的值,那可以通过以下函数调用即可。

function GetQueryString(name) {  
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");  
    var r = window.location.search.substr(1).match(reg);  //获取url中"?"符后的字符串并正则匹配
    var context = "";  
    if (r != null)  
         context = r[2];  
    reg = null;  
    r = null;  
    return context == null || context == "" || context == "undefined" ? "" : context;  
}
alert(GetQueryString("q"));

方法四:单个参数的获取方法

function GetRequest() {
   var url = location.search; //获取url中"?"符后的字串
   if (url.indexOf("?") != -1) {    //判断是否有参数
      var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
      strs = str.split("=");   //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔)
      alert(strs[1]);          //直接弹出第一个参数 (如果有多个参数 还要进行循环的)
   }
}

 

Javascript 相关文章推荐
一个封装js代码-----展开收起效果示例
Jul 03 Javascript
javascript面向对象特性代码实例
Jun 12 Javascript
JavaScript中获取样式的原生方法小结
Oct 08 Javascript
JQuery实现展开关闭层的方法
Feb 17 Javascript
基于Node.js的强大爬虫 能直接发布抓取的文章哦
Jan 10 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
May 26 Javascript
html判断当前页面是否在iframe中的实例
Nov 30 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
Apr 23 Javascript
微信小程序实现锚点定位楼层跳跃的实例
May 18 Javascript
js实现本地时间同步功能
Aug 26 Javascript
JS实现带导航城市列表以及输入搜索功能
Jan 04 Javascript
详解Vue中Axios封装API接口的思路及方法
Oct 10 Javascript
javascript对JSON数据排序的3个例子
Apr 12 #Javascript
Js保留小数点的4种效果实现代码分享
Apr 12 #Javascript
JS判断客户端是手机还是PC的2个代码
Apr 12 #Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
Apr 12 #Javascript
jQuery中阻止冒泡事件的方法介绍
Apr 12 #Javascript
jquery ajax应用中iframe自适应高度问题解决方法
Apr 12 #Javascript
javascript事件冒泡详解和捕获、阻止方法
Apr 12 #Javascript
You might like
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
jquery $.ajax入门应用一
2008/11/19 Javascript
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
webpack打包nodejs项目的方法
2018/09/26 NodeJs
了解重排与重绘
2019/05/29 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
python中元类用法实例
2014/10/10 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python提取log文件内容并画出图表
2019/07/08 Python
解决Numpy中sum函数求和结果维度的问题
2019/12/06 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
北大自主招生自荐信
2013/10/19 职场文书
房地产销售大学生自我评价分享
2013/11/11 职场文书
就业表自我评价分享
2014/02/06 职场文书
面试通知邮件
2015/04/20 职场文书
送达通知书
2015/04/25 职场文书
结婚主持人致辞
2015/07/28 职场文书
2016年小学生新年寄语
2015/08/18 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书