Javascript 获取链接(url)参数的方法


Posted in Javascript onFebruary 15, 2009

方法1:将链接当作字符串 ,按照链接的格式分解,然后获取对应的参数值。
方法2:用正则直接匹配。
关键字:parameter 参数:location.href,url ,链接,javascript
方法1:
分解链接方式:

<script type="text/javascript"> 
function getQueryString(name) 
{ 
// 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空 
if(location.href.indexOf("?")==-1 || location.href.indexOf(name+'=')==-1) 
{ return ''; } 
// 获取链接中参数部分 
var queryString = location.href.substring(location.href.indexOf("?")+1); 
// 分离参数对 ?key=value&key2=value2 
var parameters = queryString.split("&"); 
var pos, paraName, paraValue; 
for(var i=0; i<parameters.length; i++) 
{ 
// 获取等号位置 
pos = parameters[i].indexOf('='); 
if(pos == -1) { continue; } 
// 获取name 和 value 
paraName = parameters[i].substring(0, pos); 
paraValue = parameters[i].substring(pos + 1); 
// 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格 
if(paraName == name) 
{ 
return unescape(paraValue.replace(/\+/g, " ")); 
} 
} 
return ''; 
}; 
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff 
alert(getQueryString('test')); 
//--> 
</script>

方法2:
用正则匹配方式:
<script type="text/javascript"> 
function getQueryStringRegExp(name) 
{ 
var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(https://3water.com/file:///s:&%7C$)", "i"); 
if (reg.test(location.href)) 
return unescape(RegExp.$2.replace(/\+/g, " ")); 
return ""; 
}; 
//http://localhost/test.html?aa=bb&test=cc+dd&ee=ff 
alert(getQueryStringRegExp('test')); 
</script>
Javascript 相关文章推荐
JavaScript 原型与继承说明
Jun 09 Javascript
js中一维数组和二位数组中的几个问题示例说明
Jul 17 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
Jun 16 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
Aug 12 Javascript
Vue递归实现树形菜单方法实例
Nov 06 Javascript
mock.js模拟前后台交互
Jul 25 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
Oct 23 Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
Jul 29 Javascript
html5中sharedWorker实现多页面通信的示例代码
May 07 Javascript
详解JS ES6编码规范
May 07 Javascript
详解JSON.parse和JSON.stringify用法
Feb 18 Javascript
JavaScript 获得选中文本内容的方法
Feb 15 #Javascript
检测是否已安装 .NET Framework 3.5的js脚本
Feb 14 #Javascript
Javascript 跨域访问解决方案
Feb 14 #Javascript
JavaScript DOM 添加事件
Feb 14 #Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
Feb 14 #Javascript
JavaScript实现动态增加文件域表单
Feb 12 #Javascript
从JavaScript 到 JQuery (1)学习小结
Feb 12 #Javascript
You might like
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
2017/04/10 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
python生成随机mac地址的方法
2015/03/16 Python
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
详解Python with/as使用说明
2018/12/13 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
学生鉴定评语大全
2014/05/05 职场文书
党员廉洁自律承诺书
2014/05/26 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书