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 相关文章推荐
javascript 面向对象编程  function是方法(函数)
Sep 17 Javascript
基于jsTree的无限级树JSON数据的转换代码
Jul 27 Javascript
js jq 单击和双击区分示例介绍
Nov 05 Javascript
javascript得到当前页的来路即前一页地址的方法
Feb 18 Javascript
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
Mar 18 Javascript
JavaScript中的typeof操作符用法实例
Apr 05 Javascript
jquery的ajax异步请求接收返回json数据实例
Jun 16 Javascript
javascript中错误使用var造成undefined
Mar 31 Javascript
尝试自己动手用react来写一个分页组件(小结)
Feb 09 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
Mar 22 Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 Javascript
Layui数据表格 前后端json数据接收的方法
Sep 19 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
用PHP和ACCESS写聊天室(四)
2006/10/09 PHP
php单件模式结合命令链模式使用说明
2008/09/07 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
PHP微信分享开发详解
2017/01/14 PHP
PHP Include文件实例讲解
2019/02/15 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
关于JavaScript对象的动态选择及遍历对象
2014/03/10 Javascript
常用的几段javascript代码分享
2014/03/25 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
javascript实现简易计算器
2017/02/01 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
javascript面向对象三大特征之多态实例详解
2019/07/24 Javascript
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
文员自我评价怎么写
2013/09/19 职场文书
查摆问题自我剖析材料
2014/08/18 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript