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制作微信聊天面板
Aug 09 Javascript
JS事件添加和移出的兼容写法示例
Jun 20 Javascript
jquery实现ajax加载超时提示的方法
Jul 23 Javascript
js实现弹窗居中的简单实例
Oct 09 Javascript
微信小程序 picker-view 组件详解及简单实例
Jan 10 Javascript
利用原生JS与jQuery实现数字线性变化的动画
Feb 24 Javascript
详解如何让Express支持async/await
Oct 09 Javascript
Angular网络请求的封装方法
May 22 Javascript
一个Vue页面的内存泄露分析详解
Jun 25 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
Aug 14 jQuery
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
Jul 19 Javascript
vue实现点击出现操作弹出框的示例
Nov 05 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 数据库字段复用的基本原理与示例
2011/07/22 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
jquery链式操作的正确使用方法
2014/01/06 Javascript
用IE重起计算机或者关机的示例代码
2014/03/10 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
2017/01/03 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
微信小程序反编译的实现
2020/12/10 Javascript
[00:59]DOTA2荣耀之路1:Doom is back!weapon X!
2018/05/22 DOTA
Python类的用法实例浅析
2015/05/27 Python
Python中random模块生成随机数详解
2016/03/10 Python
详解python上传文件和字符到PHP服务器
2017/11/24 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
Python加速程序运行的方法
2020/07/29 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
python3 re返回形式总结
2020/11/20 Python
利用css3画个同心圆示例代码
2017/07/03 HTML / CSS
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
J2EE面试题大全
2016/08/06 面试题
应聘自荐书
2013/10/08 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA