Javascript - HTML的request类


Posted in Javascript onJanuary 09, 2007

做中英转换的时候,要准确的获取参数并取出,所以做了一个简单的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 相关文章推荐
项目实践之javascript技巧
Dec 06 Javascript
jQuery 使用手册(五)
Sep 23 Javascript
JavaScript 组件之旅(一)分析和设计
Oct 28 Javascript
查找iframe里元素的方法可传参
Sep 11 Javascript
node.js入门教程
Jun 01 Javascript
jQuery实现根据生日计算年龄 星座 生肖
Nov 23 Javascript
axios中cookie跨域及相关配置示例详解
Dec 20 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
Feb 07 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
Aug 22 Javascript
React组件对子组件children进行加强的方法
Jun 23 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
Feb 15 Javascript
测量JavaScript函数的性能各种方式对比
Apr 27 Javascript
贴一个在Mozilla中常用的Javascript代码
Jan 09 #Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题
Jan 09 #Javascript
Javascript调试工具(下载)
Jan 09 #Javascript
如何在Mozilla Gecko 用Javascript加载XSL
Jan 09 #Javascript
如何让动态插入的javascript脚本代码跑起来。
Jan 09 #Javascript
JS效率个人经验谈(8-15更新),加入range技巧
Jan 09 #Javascript
你所要知道JS(DHTML)中的一些技巧
Jan 09 #Javascript
You might like
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
D3.js 从P元素的创建开始(显示可加载数据)
2014/10/30 Javascript
js replace(a,b)之替换字符串中所有指定字符的方法
2016/08/17 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
使用clipboard.js实现复制功能的示例代码
2017/10/16 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
python 2.6.6升级到python 2.7.x版本的方法
2016/10/09 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
python实现随机漫步方法和原理
2019/06/10 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
Python @property装饰器原理解析
2020/01/22 Python
python实现UDP协议下的文件传输
2020/03/20 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
天猫精选:上天猫,就够了
2016/09/21 全球购物
乌克兰第一的珠宝网上商店:Gold.ua
2019/11/29 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
环境科学专业研究生求职信
2013/10/02 职场文书
优秀公益广告词大全
2014/03/19 职场文书
经理任命书模板
2014/06/06 职场文书
语文课外活动总结
2014/08/27 职场文书
安全承诺书
2015/01/19 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
Python下opencv使用hough变换检测直线与圆
2021/06/18 Python