惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Securelist
O
OpenAI News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threat Research - Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Google Online Security Blog
Google Online Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News and Events Feed by Topic
S
Security Affairs
SecWiki News
SecWiki News
Project Zero
Project Zero
L
Lohrmann on Cybersecurity
P
Proofpoint News Feed
P
Palo Alto Networks Blog
L
LINUX DO - 最新话题
H
Hacker News: Front Page
Recent Commits to openclaw:main
Recent Commits to openclaw:main
I
Intezer
Simon Willison's Weblog
Simon Willison's Weblog
W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
K
Kaspersky official blog
The GitHub Blog
The GitHub Blog
I
InfoQ
云风的 BLOG
云风的 BLOG
雷峰网
雷峰网
B
Blog
IT之家
IT之家
AWS News Blog
AWS News Blog
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Google DeepMind News
Google DeepMind News
Spread Privacy
Spread Privacy
N
News and Events Feed by Topic
Security Latest
Security Latest
美团技术团队
C
Check Point Blog
WordPress大学
WordPress大学
T
Tenable Blog
S
Security @ Cisco Blogs
Last Week in AI
Last Week in AI
博客园 - 聂微东
月光博客
月光博客
博客园 - 【当耐特】
S
Schneier on Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Secure Thoughts
Schneier on Security
Schneier on Security
C
Cisco Blogs
Cyberwarzone
Cyberwarzone

博客园 - flyingfish

ORACLE 监听日志文件太大停止写监听日志引起数据库连接不上问题 PostgreSQL Crosstab Query (交叉表)试用随记 基于陕西省地理信息公共服务平台的2011西安世园会电子地图正式发布 Toad Connecting: "cannot load OCI DLL: C:\oracle\product\10.2.0\db_2\BIN\oci.dll" - flyingfish ArcSDE启动遇到ORA-12560: TNS: 协议适配器错误解决办法 [转]VisualStudio LightSwitch 7大顶级功能 [转]Silverlight 之轻 有关敏捷软件测试的文章 [转]SSL应用系列之三:去掉讨厌的证书提示警告(多图精解) 【转】Skyline软件介绍 【转】TB(TerraBuilder)转换日志:解决影像数据坐标转换后,在Skyline平台不能显示的问题 如何知道ORACLE表最后被修改,访问的时间 【转】如何成功实施结对编程 【转】结对编程及其优势 诚聘Silverlight、WCF程序员(或实习生) [转]VS2008在64位Windows平台上编译ArcEngine导致HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)错误的解决办法 Web系统突然爆”Asp.net ajax客户端框架未能加载“的一种可能原因(误改服务器系统时间) 再读《没有银弹》 [转]华为总裁任正非谈企业管理:正确的方向来自于妥协
【转】Javascript 获取链接(url)参数的方法
flyingfish · 2011-01-03 · via 博客园 - flyingfish

代码

Javascript 获取链接(url)参数的方法
作者: YITU.org 来源: YITU.org 时间:
2007-02-26 10:34:58
摘要: 有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值。本文给出的就是这个流程的具体实现方法。

当然,我们也可以用正则直接匹配,文章中也给出了一个正则的例子。
归类: Javascript,
关键词: parameter, 参数, location.href, url, 链接, javascript,
收藏本页到:
有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值。本文给出的就是这个流程的具体实现方法。

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

--------------------------------------------------------------
点此浏览示例文件
--------------------------------------------------------------

分解链接的方式:
Javascript:

<script type="text/javascript">
<!--
// 说明:Javascript 获取链接(url)参数的方法
//
整理:http://www.CodeBit.cn

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>

用正则匹配的方式:
Javascript:

<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>