js操作url的代码

来源:互联网 发布:实用的软件项目 编辑:程序博客网 时间:2024/05/20 08:41
//=============================================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=123function 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;}//=

原创粉丝点击