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 EasyUI API 中文文档 搜索框
Sep 29 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
Nov 19 Javascript
AngularJS中的模块详解
Jan 29 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
Jul 01 Javascript
Angular 页面跳转时传参问题
Aug 01 Javascript
浅谈js数据类型判断与数组判断
Aug 29 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
Feb 21 Javascript
图文介绍Vue父组件向子组件传值
Feb 17 Javascript
vue.js 实现点击按钮动态添加li的方法
Sep 07 Javascript
微信小程序实现单选选项卡切换效果
Jun 19 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
Apr 08 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
Views rows style模板重写代码
2011/05/16 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
php实现的ping端口函数实例
2014/11/12 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
2018/06/06 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
传智播客学习之java 反射
2009/11/22 Javascript
合并table相同单元格的jquery插件分享(很精简)
2011/06/20 Javascript
jQuery EasyUI API 中文文档 - NumberBox数字框
2011/10/13 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
JavaScript日期时间格式化函数分享
2014/05/05 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
ExpressJS入门实例
2015/01/14 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
python树莓派红外反射传感器
2019/01/21 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
python for循环remove同一个list过程解析
2019/08/14 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
HTML5新增加的功能详解
2016/09/05 HTML / CSS
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
优秀求职信范文分享
2013/12/19 职场文书
致全体运动员广播稿
2014/02/01 职场文书
高中运动会入场词
2014/02/14 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
python实现股票历史数据可视化分析案例
2021/06/10 Python
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
Python采集爬取京东商品信息和评论并存入MySQL
2022/04/12 Python
收音机爱好者玩机13年,简评其使用过的19台收音机
2022/04/30 无线电