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 相关文章推荐
js验证表单第二部分
Nov 25 Javascript
Expandable &quot;Detail&quot; Table Rows
Aug 29 Javascript
jquery实现table鼠标经过变色代码
Sep 25 Javascript
javascript中打印当前的时间实现思路及代码
Dec 18 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
Dec 27 Javascript
jquery 显示*天*时*分*秒实现时间计时器
May 07 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
Jan 28 Javascript
浅谈javascript中自定义模版
Jan 29 Javascript
JS前端笔试题分析
Dec 19 Javascript
jQuery zTree树插件的使用教程
Aug 16 jQuery
JavaScript缺少insertAfter解决方案
Jul 03 Javascript
antd design table更改某行数据的样式操作
Oct 31 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函数file_get_contents超时处理的方法详解
2013/06/03 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
PHP图片加水印实现方法
2016/05/06 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
prototype 的说明 js类
2006/09/07 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
IE下使用jQuery重置iframe地址时内存泄露问题解决办法
2015/02/05 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
使用react实现手机号的数据同步显示功能的示例代码
2018/04/03 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
[01:02:25]2014 DOTA2华西杯精英邀请赛 5 24 iG VS DK
2014/05/26 DOTA
Python中关于浮点数的冷知识
2019/09/22 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
pip install命令安装扩展库整理
2021/03/02 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
小学作文评语大全
2014/04/21 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书
python源码剖析之PyObject详解
2021/05/18 Python
总结Pyinstaller打包的高级用法
2021/06/28 Python
mysq启动失败问题及场景分析
2021/07/15 MySQL
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
对讲机知识
2022/04/07 无线电
win10更新失败无限重启解决方法
2022/04/19 数码科技