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 相关文章推荐
基于jquery实现图片广告轮换效果代码
Jul 07 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
Aug 14 Javascript
jQuery的DOM操作之删除节点示例
Jan 03 Javascript
js触发select onchange事件的小技巧
Aug 05 Javascript
jquery 禁止鼠标右键并监听右键事件
Apr 27 jQuery
ReactNative列表ListView的用法
Aug 02 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
Jan 04 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
vue 兄弟组件的信息传递的方法实例详解
Aug 30 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
Dec 02 Javascript
原生js实现密码强度验证功能
Mar 18 Javascript
Vue3为什么这么快
Sep 23 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 smarty 二级分类代码和模版循环例子
2011/06/16 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
判断控件是否已加载完成的代码
2010/02/24 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
jquery实现页面图片等比例放大缩小功能
2014/02/12 Javascript
node.js中的url.format方法使用说明
2014/12/10 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
Python利用多进程将大量数据放入有限内存的教程
2015/04/01 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
Form表单及django的form表单的补充
2019/07/25 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
上海方立数码笔试题
2013/10/18 面试题
国家助学金获奖感言
2014/01/31 职场文书
清明节扫墓活动方案
2014/03/02 职场文书
六五普法规划实施方案
2014/03/21 职场文书
经营理念口号
2014/06/21 职场文书
驾驶员安全责任书
2014/07/22 职场文书
2016公司年会主持词
2015/07/01 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
2016年大学生实习单位评语
2015/12/01 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python