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 相关文章推荐
基于pthread_create,readlink,getpid等函数的学习与总结
Jul 17 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
Jun 15 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
Jan 09 Javascript
Jquery attr()方法 属性赋值和属性获取详解
Apr 15 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
Jun 25 Javascript
深入理解javascript的getTime()方法
Feb 16 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
Apr 26 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
Sep 26 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
Oct 20 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 Javascript
angular 数据绑定之[]和{{}}的区别
Sep 25 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
Jan 06 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函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
php 读取文件夹下所有图片、文件的实例
2018/10/17 PHP
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
2011/03/25 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
javascript中直接写php代码的方法
2013/07/31 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
JavaScript Array对象详解
2016/03/01 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
vue component组件使用方法详解
2017/07/14 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
vue项目实现图片上传功能
2019/12/23 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
2020/10/09 jQuery
Ant-design-vue Table组件customRow属性的使用说明
2020/10/28 Javascript
vue vant中picker组件的使用
2020/11/03 Javascript
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
汽车销售顾问求职自荐信
2014/01/01 职场文书
初三政治教学反思
2014/01/30 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
法制主题班会教案
2015/08/13 职场文书
高三英语教学反思
2016/03/03 职场文书
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技