.........net by ddr888
Email: erickdu888#gmail.com
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 91 文章- 1 评论- 255
js提取url参数的几种方法。(搜集)
第一,正则表达式,直接找出参数等号右边的值即可。但是,如果该参数后还有&就不可行。
<
script language
=
"
javascript
"
>
var
str
=
window.location.href;
var
es
=/
clid
=/
;
es.exec(str);
var
right
=
RegExp.rightContext;
if
(right
==
"
1
"
)
{
sub_nav_4.style.display
=
"
block
"
;
li4.style.background
=
"
#a1ca00
"
;
}
</
script
>
第二,把能找到的参数都付给argsarr数组,将来可以用argsarr[i]进行相应的访问,方法不错,太长,参数不容易记忆。
/**/
/*
*
* 提取URL中的参数
*/
function
getArgs()
{
//
加上substring的意义是去掉查询字符串中的?号。
//
var query = window.location.search.substring(1);
//
定义一个数组,用于存放取出来的字符串参数。
var
argsArr
=
new
Object();
//
获取URL中的查询字符串参数
var
query
=
window.location.search;
query
=
query.substring(
1
);
//
这里的pairs是一个字符串数组
var
pairs
=
query.split(
"
&
"
);
//
name=myname&password=1234&sex=male&address=nanjing
for
(
var
i
=
0
;i
<
pairs.length;i
++
)
{
var
sign
=
pairs[i].indexOf(
"
=
"
);
//
如果没有找到=号,那么就跳过,跳到下一个字符串(下一个循环)。
if
(sign
==
-
1
)
{
continue
;
}
var
aKey
=
pairs[i].substring(
0
,sign);
var
aValue
=
pairs[i].substring(sign
+
1
);
argsArr[aKey]
=
aValue;
}
return
argsArr;
}
第三,最简单的方法,类似第二种,不过没有创建数组存参数,可直接访问参数的名字,容易看懂。
<
script language
=
"
javascript
"
>
function
getarg()
{
var
url
=
unescape(window.location.href);
var
allargs
=
url.split(
"
?
"
)[
1
];
var
args
=
allargs.split(
"
&
"
);
for
(
var
i
=
0
; i
<
args.length; i
++
)
{
var
arg
=
args[i].split(
"
=
"
);
eval('
this
.'
+
arg[
0
]
+
'
=
"
'+arg[1]+'
"
;');
}
}
var
urlarg
=
new
getarg();
if
(urlarg.clid
==
"
1
"
)
{
sub_nav_6.style.display
=
"
block
"
;
li6.style.background
=
"
#a1ca00
"
;
}
</
script
>
posted @ 2006-12-29 12:50
ddr888
阅读(1120)
评论(1)
编辑
收藏
网摘
所属分类:
javascript代码
、
项目日志
发表评论
回复
引用
#1楼
2008-08-14 01:44 |
搜热网 [未注册用户]
朋友,不知道这个URL参数为什么会出这样的错误呀.
http://soohot.com/?q=8%E6%AC%BE%E8%AF%BA%E5%9F%BA%E4%BA%9A%E6%96%B0%E4%B8%8A%E5%B8%82,N78%E6%9C%80%E5%A5%BD%E7%9C%8B
http://soohot.com/?q=中国中国
上面的地址能正常访问,后面的这个就不能正常访问,
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
人才
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
Google站内搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
相关文章:
相关链接:
所属分类的其他文章:
类似google拖拽效果的原理实现(来自codeproject)
怎样用javascript操作ftb编辑区内容
图片滚动代码。
javascript常用脚本集锦
下拉列表控制文本框的个数思路
js提取url参数的几种方法。(搜集)
js实现弹出式菜单
js客户端日历控件
freetextbox常用ToolbarLayout按钮功能(3.1.6)
图片缩放js
最新IT新闻:
Silverlight 2 SDK中文版发布
[译稿]微软将 jQuery IntelliSense整合到Visual Studio
微软:不裁员也不削减研发开支
2008年11月22日科技博客精选
诺基亚将支持Lotus Notes 和黑莓争夺市场
公告
站长统计
<
2006年12月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我管理的小组
灌水号
我参加的小组
jQuery
创业交流
web标准设计
我参与的团队
ASP.NET AJAX (Atlas)学习(1/1357)
昆明.NET俱乐部(0/116)
搜索引擎研究团队(0/38)
我的标签
subsonic(1)
随笔分类
(124)
AJAX(6)
(rss)
asp.net(37)
(rss)
css+xhtml(5)
(rss)
flash动画(3)
(rss)
html(6)
(rss)
javascript代码(14)
(rss)
扯淡淡(13)
(rss)
技术疑问(20)
(rss)
技术原创(3)
(rss)
数据库(7)
(rss)
项目日志(10)
(rss)
随笔档案
(91)
2008年10月 (1)
2008年5月 (1)
2008年4月 (1)
2008年3月 (1)
2007年11月 (1)
2007年10月 (1)
2007年9月 (2)
2007年8月 (1)
2007年7月 (3)
2007年6月 (3)
2007年5月 (2)
2007年3月 (5)
2007年2月 (4)
2007年1月 (13)
2006年12月 (22)
2006年11月 (13)
2006年10月 (17)
文章分类
(1)
项目日志(1)
(rss)
收藏夹
(2)
asp.net(2)
(rss)
asp.net
ddr888-asp.net
电子商务
破烂网
音乐娱乐
it产品
激光教鞭是什么?
积分与排名
积分 - 93711
排名 - 458
阅读排行榜
1. 双边可关闭对联广告!(5562)
2. 有人装vs2005的sp1补丁出问题的嚒?(5406)
3. 图片滚动代码。(5064)
4. 【META http-equiv="Content-Type" Content="text/html; Charset=*】意义详解(4076)
5. 第一天:数据库设计--access数据类型介绍(2608)
评论排行榜
1. 有人装vs2005的sp1补丁出问题的嚒?(25)
2. 送wallop 邀请 剩的不多,一天就5个(22)
3. 图片滚动代码。(17)
4. Asp.Net 学习资源列表(15)
5. gridview中实现客户端“删除确认”?(13)