URL字符串操作
来源:互联网 发布:iebook制作软件 编辑:程序博客网 时间:2024/06/06 14:25
/*
功能:对URL字符串的相关操作
*/
function Uri()
{
this.JoinQueryString = function (keys, values) //组合URL参数
{
var queryString = "";
for (var i = 0; i < keys.length; i++)
{
if (values[i] && values[i] != "")
{
if (queryString != "") queryString += "&";
queryString += keys[i] + "=" + values[i];
}
}
if (queryString != "") queryString = "?" + queryString;
return queryString;
}
this.JoinUrl = function (url, queryString) //自动合并URL和查询字符串
{
if (queryString == "") return url;
var index = url.indexOf("?", 0);
var index2 = queryString.indexOf("?", 0);
if (index == -1)
{
//参数中是否含有问号,问号后面是否有数据
if (index2 == -1) url += "?" + queryString;
else url += queryString;
}
else
{
//URL中含有问号,问号后面是否有数据
if (index == url.length)
{
//url后面无数据
if (index2 == -1) url += queryString;
else url += queryString.substr(1, queryString.length);
}
else
{
//url后面有数据
if (index2 != -1) queryString = queryString.substr(1, queryString.length);
url += "&" + queryString;
}
}
return url;
}
this.ReplaceUrlKey = function (url, key, newValue) //替换URL中的KEY的值
{
var index = url.indexOf("?", 0);
if (index == -1) return;
var queryString = url.substr(index);
var href = url.substr(0, index);
var dictionary = this.SplitQueryString(queryString);
for (var i = 0; i < dictionary.keys.length; i++)
{
if (dictionary.keys[i] == key)
{
dictionary.values[i] = newValue;
break;
}
}
var _queryString = this.JoinQueryString(dictionary.keys, dictionary.values);
return href + _queryString;
}
this.ReplaceSearchKey = function (queryString, key, newValue) //替换查字符串中的KEY的值
{
var dictionary = this.SplitQueryString(queryString);
for (var i = 0; i < dictionary.keys.length; i++)
{
if (dictionary.keys[i] == key)
{
dictionary.values[i] = newValue;
break;
}
}
var _queryString = this.JoinQueryString(dictionary.keys, dictionary.values);
return _queryString;
}
this.SplitQueryString = function (queryString) //拆分URL参数
{
if (queryString.indexOf("?", 0) == 0) queryString = queryString.substr(1, queryString.length - 1);
var dictionary = { "keys": [], "values": [] };
var arr = queryString.split("&");
for (var i = 0; i < arr.length; i++)
{
var temp = arr[i].split("=");
if (temp.length == 2)
{
dictionary.keys.push(temp[0]);
dictionary.values.push(temp[1]);
}
}
return dictionary;
}
}
var Uri = new Uri(); //实例化同名的,直接调用
- URL字符串操作
- URL字符串相关操作处理
- 字符串、URL地址操作、获取机器字长
- C#优化字符串操作(5)--url传递中文的解决方案
- location的search操作——解析url字符串,返回包含所有参数的一个对象
- Flex获取URL字符串
- URL字符串加密
- url请求转义字符串
- 解密URL字符串
- url转成字符串
- 截取URL字符串
- js拼接URL字符串
- url 字符串截取
- URL(字符串)
- JS操作URL
- iPhone URL 读取操作
- js操作url
- javascript操作URL函数
- 调试异常: Free Heap block xxxxxxxx modified at xxxxxxxx after it was freed
- VC++写的计算器程序源代码
- 从追MM谈Java的23种设计模式
- 王石川:伦敦骚乱背后的三重焦虑
- 如何在tableviewcell里面嵌入switch控件以及如何获取switch控件数据
- URL字符串操作
- arcpy站点包中常用方法与函数
- chop() vs. chomp() of Perl
- Oracle EBS R12 - Oracle Forms中"WHEN-LEAVE-RECORD"触发器的用法
- Linux 内核中的 GCC 特性
- 配置文件转义字符
- 状态压缩DP入门题
- ASP 动态加载FLASH的简单方法
- 李彦宏15年前专利曝光 支撑百度600亿美元市值