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 相关文章推荐
javascript 树控件 比较好用
Jun 11 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
Oct 24 Javascript
JS中setTimeout()的用法详解
Apr 14 Javascript
js原生appendChild的bug解决心得分享
Jul 01 Javascript
15款jQuery分布引导插件分享
Feb 04 Javascript
解决前端跨域问题方案汇总
Nov 20 Javascript
基于js中document.cookie全面解析
Sep 14 Javascript
Vue filter介绍及其使用详解
Oct 21 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
Nov 26 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
Dec 11 Javascript
微信小程序复选框实现多选一功能过程解析
Feb 14 Javascript
JS图片预加载三种实现方法解析
May 08 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
转PHP手册及PHP编程标准
2006/12/17 PHP
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
yii中widget的用法
2014/12/03 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
jquery 经典动画菜单效果代码
2010/01/26 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
JavaScript中发出HTTP请求最常用的方法
2018/07/12 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
Python中字典映射类型的学习教程
2015/08/20 Python
常见的python正则用法实例讲解
2016/06/21 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
python开根号实例讲解
2020/08/30 Python
制药工程专业应届生求职信
2013/09/24 职场文书
技校个人求职信范文
2014/01/25 职场文书
经典公益广告词
2014/03/13 职场文书
群众路线剖析材料范文
2014/10/09 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
营销计划书
2015/01/17 职场文书
结婚典礼致辞
2015/07/28 职场文书
庆祝教师节主题班会
2015/08/17 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
JS实现简单九宫格抽奖
2022/06/28 Javascript