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 相关文章推荐
Jquery中增加参数与Json转换代码
Nov 20 Javascript
validator验证控件使用代码
Nov 23 Javascript
使用jquery读取html5 localstorage的值的方法
Jan 04 Javascript
jquery中插件实现自动添加用户的具体代码
Nov 15 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
js实现window.open不被拦截的解决方法汇总
Oct 30 Javascript
js如何实现点击标签文字,文字在文本框出现
Aug 05 Javascript
Function.prototype.apply()与Function.prototype.call()小结
Apr 27 Javascript
js实现对table的增加行和删除行的操作方法
Oct 13 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
Dec 03 Javascript
解决给dom元素绑定click等事件无效问题的方法
Feb 17 Javascript
vue3.0搭配.net core实现文件上传组件
Oct 29 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
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
PHP异常处理Exception类
2015/12/11 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
php解决安全问题的方法实例
2019/09/19 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
python实现爬取千万淘宝商品的方法
2015/06/30 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
市场开发与营销专业求职信
2013/12/31 职场文书
新三好学生主要事迹
2014/01/23 职场文书
主办会计岗位职责
2014/03/13 职场文书
教育基金募捐倡议书
2014/05/14 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书