Javascript 获取链接(url)参数的方法[正则与截取字符串]


Posted in Javascript onFebruary 09, 2010

当然,我们也可以用正则直接匹配,文章中也给出了一个正则的例子。
分解链接的方式:

<script type="text/javascript"> 
<!-- 
// 说明:Javascript 获取链接(url)参数的方法 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>

用正则匹配的方式:
<script type="text/javascript"> 
<!-- 
function getQueryStringRegExp(name) 
{ 
var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "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 相关文章推荐
JS随即打乱数组实现代码
Dec 03 Javascript
JavaScript对象学习经验整理
Oct 12 Javascript
js中Image对象以及对其预加载处理示例
Nov 20 Javascript
使用JQuery库提供的扩展功能实现自定义方法
Sep 09 Javascript
angularjs学习笔记之简单介绍
Sep 26 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 Javascript
在node中如何使用 ES6
Apr 22 Javascript
详解webpack解惑:require的五种用法
Jun 09 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
Oct 06 Javascript
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
原生js实现拖拽移动与缩放效果
Aug 24 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
Jan 29 Javascript
一个XML格式数据转换为图表的例子
Feb 09 #Javascript
javascript 解析url的search方法
Feb 09 #Javascript
toString()一个会自动调用的方法
Feb 08 #Javascript
jQuery AJAX回调函数this指向问题
Feb 08 #Javascript
JavaScript Event学习第九章 鼠标事件
Feb 08 #Javascript
JavaScript 类似flash效果的立体图片浏览器
Feb 08 #Javascript
js 省地市级联选择
Feb 07 #Javascript
You might like
PHP生成RSS文件类实例
2014/12/05 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
学习ExtJS Column布局
2009/10/08 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
JavaScript encodeURI 和encodeURIComponent
2015/12/04 Javascript
AngularJS中处理多个promise的方式
2016/02/02 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
python进阶教程之异常处理
2014/08/30 Python
Python中Continue语句的用法的举例详解
2015/05/14 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
django框架ModelForm组件用法详解
2019/12/11 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
装配出错检讨书
2014/09/23 职场文书
2014年法院工作总结
2014/11/24 职场文书
课外活动实习计划
2015/01/19 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
聘任合同书
2015/09/21 职场文书