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 判断代码全收集
Apr 28 Javascript
jQuery+PHP星级评分实现方法
Oct 02 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
jQuery实现的分子运动小球碰撞效果
Jan 27 Javascript
jQuery的内容过滤选择器学习教程
Apr 18 Javascript
js替换字符串中所有指定的字符(实现代码)
Aug 17 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
Dec 28 Javascript
详解如何用webpack打包一个网站应用项目
Jul 12 Javascript
分分钟学会vue中vuex的应用(入门教程)
Sep 14 Javascript
详解使用路由延迟加载 Angular 模块
Oct 12 Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 Javascript
js代码编写无缝轮播图
Sep 13 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学习之数组的定义和填充
2011/04/17 PHP
求PHP数组最大值,最小值的代码
2011/10/31 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
2010/06/07 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
手写简单的jQuery雪花飘落效果实例
2018/04/22 jQuery
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
django站点管理详解
2017/12/12 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
Python中PyQt5/PySide2的按钮控件使用实例
2019/08/17 Python
python 使用事件对象asyncio.Event来同步协程的操作
2020/05/04 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
Pytho爬虫中Requests设置请求头Headers的方法
2020/09/22 Python
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
会计专业自荐信范文
2013/12/02 职场文书
小班开学寄语
2014/04/04 职场文书
医学生求职自荐书
2014/06/12 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
2014年平安夜寄语
2014/12/08 职场文书
地球一小时活动总结
2015/02/27 职场文书
2015年招生工作总结
2015/05/04 职场文书
导师鉴定意见
2015/06/05 职场文书
贷款收入证明范本
2015/06/12 职场文书
为什么RedisCluster设计成16384个槽
2021/09/25 Redis
Go语言读取txt文档的操作方法
2022/01/22 Golang
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle