Javascript - HTML的request类


Posted in Javascript onJuly 15, 2006

做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的html中用js获取当取地址栏的一个Object。
里面有三个方法:
1、request.QueryString("参数")//获取指定参数,返回字符串;
2、request.QueryStrings();//获取全部参数,并返回数组;
3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
例如:
当前地址栏参数字符串为:?name=a&site=never_online

alert(request.setQuery("name","blueDestiny"))

如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online

setQuery方法有自动追加参数的功能。如:
当前地址栏参数字符串为:?site=never_online
alert(request.setQuery("name","blueDestiny"))
则返回?site=never_online&name=blueDestiny

同理,如果地址栏没有参数,也会自动追加参数
alert(request.setQuery("name","blueDestiny"))
返回?name=blueDestiny

<SCRIPT LANGUAGE="JavaScript">
<!--
// author: never-online
// web: never-online.net
var request = {
 QueryString : function(val) {
 var uri = window.location.search;
 var re = new RegExp("" +val+ "\=([^\&\?]*)", "ig");
 return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
 },
 QueryStrings : function() {
 var uri = window.location.search;
 var re = /\w*\=([^\&\?]*)/ig;
 var retval=[];
 while ((arr = re.exec(uri)) != null)
 retval.push(arr[0]);
 return retval;
 },
 setQuery : function(val1, val2) {
 var a = this.QueryStrings();
 var retval = "";
 var seted = false;
 var re = new RegExp("^" +val1+ "\=([^\&\?]*)$", "ig");
 for(var i=0; i<a.length; i++) {
 if (re.test(a[i])) {
 seted = true;
 a[i] = val1 +"="+ val2;
 }
 }
 retval = a.join("&");
 return "?" +retval+ (seted ? "" : (retval ? "&" : "") +val1+ "=" +val2);
 }
}
alert(request.setQuery("e","b"))
//-->
</SCRIPT>

Javascript 相关文章推荐
List the Codec Files on a Computer
Jun 11 Javascript
JQuery实现倒计时按钮的实现代码
Mar 23 Javascript
js比较和逻辑运算符的介绍
Mar 10 Javascript
利用cookie记住背景颜色示例代码
Nov 04 Javascript
JavaScript对象的property属性详解
Apr 01 Javascript
javascript的propertyIsEnumerable()方法使用介绍
Apr 09 Javascript
Javascript基础教程之break和continue语句
Jan 18 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
jQuery简单实现仿京东分类导航层效果
Jun 07 Javascript
详解微信小程序 登录获取unionid
Jun 27 Javascript
jquery animate动画持续运动的实例
Nov 29 jQuery
layui弹出层按钮提交iframe表单的方法
Aug 20 Javascript
表单的一些基本用法与技巧
Jul 15 #Javascript
popdiv
Jul 14 #Javascript
游戏人文件夹程序 ver 4.03
Jul 14 #Javascript
游戏人文件夹程序 ver 3.0
Jul 14 #Javascript
表单提交验证类
Jul 14 #Javascript
如何实现浏览器上的右键菜单
Jul 10 #Javascript
载入进度条 效果
Jul 08 #Javascript
You might like
PHP学习笔记之二
2011/01/17 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
PHP读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
PHP面向对象法则
2012/02/23 PHP
写一段简单的PHP建立文件夹代码
2015/01/06 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
什么是PHP7中的孤儿进程与僵尸进程
2019/04/14 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
Jquery图片滚动与幻灯片的实例代码
2013/04/08 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
python实现定制交互式命令行的方法
2014/07/03 Python
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
超简单的Python HTTP服务
2019/07/22 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
基于python实现删除指定文件类型
2020/07/21 Python
安全教育心得体会
2013/12/29 职场文书
中学家长会邀请函
2014/01/17 职场文书
自我推荐信范文
2014/05/09 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
法制宣传标语
2014/06/23 职场文书
请病假条范文
2015/08/17 职场文书