//=============================================URL操作 Start=============================================
var StringToAscii = function(str) { return str.charCodeAt(0).toString(16); }
var AsciiToString = function(asccode) { return String.fromCharCode(asccode); }
/* Url编码 */
function SetUrlEncode(unzipStr) {
var zipstr = "";
var strSpecial = "!\"#$%&'()*+,/:;<=>?[]^`{|}~%";
var tt = "";
for (var i = 0; i < unzipStr.length; i++) {
var chr = unzipStr.charAt(i);
var c = StringToAscii(chr);
tt += chr + ":" + c + "n";
if (parseInt("0x" + c) > 0x7f) {
zipstr += encodeURI(unzipStr.substr(i, 1));
} else {
if (chr == " ")
zipstr += "+";
else if (strSpecial.indexOf(chr) != -1)
zipstr += "%" + c.toString(16);
else
zipstr += chr;
}
}
return zipstr;
}
/* Url解码 */
function SetUrlDecode(zipStr) {
var uzipStr = "";
for (var i = 0; i < zipStr.length; i++) {
var chr = zipStr.charAt(i);
if (chr == "+") {
uzipStr += " ";
} else if (chr == "%") {
var asc = zipStr.substring(i + 1, i + 3);
if (parseInt("0x" + asc) > 0x7f) {
uzipStr += decodeURI("%" + asc.toString() + zipStr.substring(i + 3, i + 9).toString());
i += 8;
} else {
uzipStr += AsciiToString(parseInt("0x" + asc));
i += 2;
}
} else {
uzipStr += chr;
}
}
return uzipStr;
}
//在当前url地址后面添加时间戳,构造新增的url地址
function SetUrlRefresh(url) {
if (url.indexOf("?") > 0)
return url + "&t=" + (new Date().getTime());
else
return url + "?t=" + (new Date().getTime());
}
/// <summary>
/// 构造一个地址栏参数对象,把获取的参数存入此对象中,类似数组
/// </summary>
///<remarks>
///如:http://localhost:4838/Joan_Web/test.aspx?fds=153&fdaf=1mlk
///则会得到:
/// fds="153"
/// fdaf="1mlk"
/// getallparameter="fds=153&fdaf=1mlk"
///</remarks>
function UrlSearch() { //重复时只取最后一个
var name, value;
var str = window.location.href; //取得整个地址栏
var num = str.indexOf("?")
str = str.substr(num + 1); //取得所有参数
var arr = str.split("&"); //各个参数放到数组里
for (var i = 0; i < arr.length; i++) {
num = arr[i].indexOf("=");
if (num > 0) {
name = arr[i].substring(0, num);
value = arr[i].substr(num + 1);
this[name] = value;
}
}
this["getallparameter"] = str;
}
var RQ = new UrlSearch(); //实例化
//获取url参数名值对,如:&str=123
function GetUrlParamAndValue(parameter) {
eval("var temp=RQ." + parameter); //用eval去执行字符串js
if ((typeof (temp) == "string") && (typeof (temp) != null)) {
return "&" + parameter + "=" + temp.replace(/(^\s*)|(\s*$)/g, "");
}
else
return "";
}
//获得url地址栏对应参数名的参数值
function GetUrlQueryValueByName(pName) {
var reg = new RegExp("(^|&)" + pName + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
return "";
}
/*
function GetUrlParameter(pname) {
var query = location.search.substring(1);
var qq = "";
params = query.split("&");
if (params.length > 0) {
for (var n in params) {
var pairs = params[n].split("=");
if (pairs[0] == pname) {
qq = pairs[1];
break;
}
}
}
return qq;
}
*/
//获取锚点
function GetUrlAnchor() {
var str = window.location.href;
var num = str.indexOf("#")
str = str.substr(num + 1);
return str;
}
/*获取当前页页码*/
function GetThisPageIndex() {
var r = /^[1-9][0-9]*$/;
if (GetUrlQueryValueByName('pageindex') == '') return 1;
if (r.test(GetUrlQueryValueByName('pageindex')))
return parseInt(GetUrlQueryValueByName('pageindex'));
else
return 1;
}
//获取URL主机头
function GetUrlHost() {
if (document.URL.substr(0, 7) == 'http://')
return 'http://' + window.location.host;
else
return 'https://' + window.location.host;
}
//=
js操作url的代码
最新推荐文章于 2024-01-28 23:15:00 发布