前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js扩展

js扩展

作者头像
码客说
发布2019-10-22 14:02:51
1.1K0
发布2019-10-22 14:02:51
举报
文章被收录于专栏:码客码客

扩展

定义对象

var zj = zj || {};

字符串转json对象

/**
 * 字符串转json对象
 */
zj.toJson = function(result) {
    if (typeof result == "string") {
        return eval("(" + result + ")");
    } else {
        return result;
    }
}

格式化字符串

/**
 * @author 张剑 使用方法:zj.formatString('字符串{0}字符串{1}字符串','第一个变量','第二个变量');
 * 
 * @returns 格式化后的字符串
 */
zj.formatString = function(str) {
    for (var i = 0; i < arguments.length - 1; i++) {
        str = str.replace("{" + i + "}", arguments[i + 1]);
    }
    return str;
};

字符串转数组

/**
 * @author 张剑
 * 
 * 接收一个以逗号分割的字符串,返回List,list里每一项都是一个字符串
 * 
 * @returns list
 */
zj.stringToList = function(value) {
    if (typeof value == "object") {
        return value;
    } else if (value != undefined && value != '') {
        var values = [];
        console.info(value);
        var t = value.split(',');
        for (var i = 0; i < t.length; i++) {
            values.push('' + t[i]);/* 避免他将ID当成数字 */
        }
        console.info(values);
        return values;
    } else {
        return [];
    }
};

清空form表单

/**
 * 清空form表单
 */
zj.clearForm = function(form) {
    $(':input', form).each(function() {
        var type = this.type;
        var tag = this.tagName.toLowerCase();
        if (type == 'text' || type == 'password' || tag == 'textarea') {
            this.value = "";
        } else if (type == 'checkbox' || type == 'radio') {
            this.checked = false;
        } else if (tag == 'select') {
            this.selectedIndex = -1;
        }
    });
};

日期格式化

/**
 * 日期格式化
 * 
 * @param format
 * @returns
 */
Date.prototype.format = function(format) {
    var o = {
        "M+" : this.getMonth() + 1, // month
        "d+" : this.getDate(), // day
        "h+" : this.getHours(), // hour
        "m+" : this.getMinutes(), // minute
        "s+" : this.getSeconds(), // second
        "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
        "S" : this.getMilliseconds()
    }

    if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }

    for ( var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }
    return format;
}

隐藏域中进行同步get提交

/**
 * 在当前页面创建隐藏iframe并提交
 */
zj.iframeGet = function(url) {
    var nowDate = new Date().getSeconds() + '';
    var iframe;
    try {
        iframe = document.createElement('<iframe name="' + nowDate + '">');
    } catch (ex) {
        iframe = document.createElement('iframe');
    }
    iframe.name = nowDate;
    iframe.width = 0;
    iframe.height = 0;
    iframe.marginHeight = 0;
    iframe.marginWidth = 0;
    document.body.appendChild(iframe);
    console.info(nowDate);
    window.open(url, nowDate);
    console.info(nowDate);
}

js进行post同步提交

/**
 * js进行post同步提交
 */
zj.post = function(URL, PARAMS) {
    var temp = document.createElement("form");
    temp.action = URL;
    temp.method = "post";
    temp.style.display = "none";
    for ( var x in PARAMS) {
        var opt = document.createElement("textarea");
        opt.name = x;
        opt.value = PARAMS[x];
        temp.appendChild(opt);
    }
    document.body.appendChild(temp);
    temp.submit();
}

获取字符串的分隔符之前部分

/**
 * 获取字符串的分隔符之前部分
 */
zj.getLeftStr = function(str, delimiter) {
    return str.substring(0, str.indexOf(delimiter));
}

获取浏览器信息

/**
 * 获取浏览器信息
 */
zj.getBoswerMsg = function() {
    var Sys = {};
    var ua = navigator.userAgent.toLowerCase();
    var s;
    var scan;
    (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua
            .match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua
            .match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua
            .match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua
            .match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

    // 以下进行测试

    if (Sys.ie) {
        scan = {
            "bowser" : "ie",
            "version" : zj.getLeftStr(Sys.ie, ".")
        };
    }
    if (Sys.firefox) {
        scan = {
            "bowser" : "firefox",
            "version" : zj.getLeftStr(Sys.firefox, ".")
        };
    }
    if (Sys.chrome) {
        scan = {
            "bowser" : "chrome",
            "version" : zj.getLeftStr(Sys.chrome, ".")
        };
    }
    if (Sys.opera) {
        scan = {
            "bowser" : "opera",
            "version" : zj.getLeftStr(Sys.opera, ".")
        };
    }
    if (Sys.safari) {
        scan = {
            "bowser" : "safari",
            "version" : zj.getLeftStr(Sys.safari, ".")
        };
    }
    console.info(scan);
    return scan;
}

格式化小数

zj.formatFloat = function(num, pos) {
    return Math.round(num * Math.pow(10, pos)) / Math.pow(10, pos);
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 扩展
    • 定义对象
      • 字符串转json对象
        • 格式化字符串
          • 字符串转数组
            • 清空form表单
              • 日期格式化
                • 隐藏域中进行同步get提交
                  • js进行post同步提交
                    • 获取字符串的分隔符之前部分
                      • 获取浏览器信息
                        • 格式化小数
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档