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实现的类似Google的Div拖动效果代码
Aug 09 Javascript
jQuery EasyUI API 中文文档 - Form表单
Oct 06 Javascript
js 取时间差去掉周六周日实现代码
Dec 25 Javascript
javascript+ajax实现产品页面加载信息
Jul 09 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
Sep 12 Javascript
获取IE浏览器Cookie信息的方法
Jan 23 Javascript
Cookies 和 Session的详解及区别
Apr 21 Javascript
jQuery+PHP+Mysql实现抽奖程序
Apr 12 jQuery
几种响应式文字详解
May 19 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
Dec 11 jQuery
浅谈vue 二级路由嵌套和二级路由高亮问题
Aug 06 Javascript
Vue router配置与使用分析讲解
Dec 24 Vue.js
贴一个在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通用分页类page.php[仿google分页]
2008/08/31 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
2013/06/20 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
js计算页面刷新的次数
2009/07/20 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
js快速排序的实现代码
2013/12/08 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
实习评语
2013/12/16 职场文书
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
毕业证丢失证明
2014/01/15 职场文书
《月亮湾》教学反思
2014/04/14 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
Python学习之迭代器详解
2022/04/01 Python