⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 format.js

📁 Ajax下日志框架
💻 JS
字号:
/***MochiKit.Format 1.3.1See <http://mochikit.com/> for documentation, downloads, license, etc.(c) 2005 Bob Ippolito.  All rights Reserved.***/if (typeof(dojo) != 'undefined') {    dojo.provide('MochiKit.Format');}if (typeof(MochiKit) == 'undefined') {    MochiKit = {};}if (typeof(MochiKit.Format) == 'undefined') {    MochiKit.Format = {};}MochiKit.Format.NAME = "MochiKit.Format";MochiKit.Format.VERSION = "1.3.1";MochiKit.Format.__repr__ = function () {    return "[" + this.NAME + " " + this.VERSION + "]";};MochiKit.Format.toString = function () {    return this.__repr__();};MochiKit.Format._numberFormatter = function (placeholder, header, footer, locale, isPercent, precision, leadingZeros, separatorAt, trailingZeros) {    return function (num) {        num = parseFloat(num);        if (typeof(num) == "undefined" || num === null || isNaN(num)) {            return placeholder;        }        var curheader = header;        var curfooter = footer;        if (num < 0) {            num = -num;        } else {            curheader = curheader.replace(/-/, "");        }        var me = arguments.callee;        var fmt = MochiKit.Format.formatLocale(locale);        if (isPercent) {            num = num * 100.0;            curfooter = fmt.percent + curfooter;        }        num = MochiKit.Format.roundToFixed(num, precision);        var parts = num.split(/\./);        var whole = parts[0];        var frac = (parts.length == 1) ? "" : parts[1];        var res = "";        while (whole.length < leadingZeros) {            whole = "0" + whole;        }        if (separatorAt) {            while (whole.length > separatorAt) {                var i = whole.length - separatorAt;                //res = res + fmt.separator + whole.substring(i, whole.length);                res = fmt.separator + whole.substring(i, whole.length) + res;                whole = whole.substring(0, i);            }        }        res = whole + res;        if (precision > 0) {            while (frac.length < trailingZeros) {                frac = frac + "0";            }            res = res + fmt.decimal + frac;        }        return curheader + res + curfooter;    };};MochiKit.Format.numberFormatter = function (pattern, placeholder/* = "" */, locale/* = "default" */) {    // http://java.sun.com/docs/books/tutorial/i18n/format/numberpattern.html    // | 0 | leading or trailing zeros    // | # | just the number    // | , | separator    // | . | decimal separator    // | % | Multiply by 100 and format as percent    if (typeof(placeholder) == "undefined") {        placeholder = "";    }    var match = pattern.match(/((?:[0#]+,)?[0#]+)(?:\.([0#]+))?(%)?/);    if (!match) {        throw TypeError("Invalid pattern");    }    var header = pattern.substr(0, match.index);    var footer = pattern.substr(match.index + match[0].length);    if (header.search(/-/) == -1) {        header = header + "-";    }    var whole = match[1];    var frac = (typeof(match[2]) == "string" && match[2] != "") ? match[2] : "";    var isPercent = (typeof(match[3]) == "string" && match[3] != "");    var tmp = whole.split(/,/);    var separatorAt;    if (typeof(locale) == "undefined") {        locale = "default";    }    if (tmp.length == 1) {        separatorAt = null;    } else {        separatorAt = tmp[1].length;    }    var leadingZeros = whole.length - whole.replace(/0/g, "").length;    var trailingZeros = frac.length - frac.replace(/0/g, "").length;    var precision = frac.length;    var rval = MochiKit.Format._numberFormatter(        placeholder, header, footer, locale, isPercent, precision,        leadingZeros, separatorAt, trailingZeros    );    var m = MochiKit.Base;    if (m) {        var fn = arguments.callee;        var args = m.concat(arguments);        rval.repr = function () {            return [                self.NAME,                "(",                map(m.repr, args).join(", "),                ")"            ].join("");        };    }    return rval;};MochiKit.Format.formatLocale = function (locale) {    if (typeof(locale) == "undefined" || locale === null) {        locale = "default";    }    if (typeof(locale) == "string") {        var rval = MochiKit.Format.LOCALE[locale];        if (typeof(rval) == "string") {            rval = arguments.callee(rval);            MochiKit.Format.LOCALE[locale] = rval;        }        return rval;    } else {        return locale;    }};MochiKit.Format.twoDigitAverage = function (numerator, denominator) {    if (denominator) {        var res = numerator / denominator;        if (!isNaN(res)) {            return MochiKit.Format.twoDigitFloat(numerator / denominator);        }    }    return "0";};MochiKit.Format.twoDigitFloat = function (someFloat) {    var sign = (someFloat < 0 ? '-' : '');    var s = Math.floor(Math.abs(someFloat) * 100).toString();    if (s == '0') {        return s;    }    if (s.length < 3) {        while (s.charAt(s.length - 1) == '0') {            s = s.substring(0, s.length - 1);        }        return sign + '0.' + s;    }    var head = sign + s.substring(0, s.length - 2);    var tail = s.substring(s.length - 2, s.length);    if (tail == '00') {        return head;    } else if (tail.charAt(1) == '0') {        return head + '.' + tail.charAt(0);    } else {        return head + '.' + tail;    }};MochiKit.Format.lstrip = function (str, /* optional */chars) {    str = str + "";    if (typeof(str) != "string") {        return null;    }    if (!chars) {        return str.replace(/^\s+/, "");    } else {        return str.replace(new RegExp("^[" + chars + "]+"), "");    }};MochiKit.Format.rstrip = function (str, /* optional */chars) {    str = str + "";    if (typeof(str) != "string") {        return null;    }    if (!chars) {        return str.replace(/\s+$/, "");    } else {        return str.replace(new RegExp("[" + chars + "]+$"), "");    }};MochiKit.Format.strip = function (str, /* optional */chars) {    var self = MochiKit.Format;    return self.rstrip(self.lstrip(str, chars), chars);};MochiKit.Format.truncToFixed = function (aNumber, precision) {    aNumber = Math.floor(aNumber * Math.pow(10, precision));    var res = (aNumber * Math.pow(10, -precision)).toFixed(precision);    if (res.charAt(0) == ".") {        res = "0" + res;    }    return res;};MochiKit.Format.roundToFixed = function (aNumber, precision) {    return MochiKit.Format.truncToFixed(        aNumber + 0.5 * Math.pow(10, -precision),        precision    );};MochiKit.Format.percentFormat = function (someFloat) {    return MochiKit.Format.twoDigitFloat(100 * someFloat) + '%';};MochiKit.Format.EXPORT = [    "truncToFixed",    "roundToFixed",    "numberFormatter",    "formatLocale",    "twoDigitAverage",    "twoDigitFloat",    "percentFormat",    "lstrip",    "rstrip",    "strip"];MochiKit.Format.LOCALE = {    en_US: {separator: ",", decimal: ".", percent: "%"},    de_DE: {separator: ".", decimal: ",", percent: "%"},    fr_FR: {separator: " ", decimal: ",", percent: "%"},    "default": "en_US"};MochiKit.Format.EXPORT_OK = [];MochiKit.Format.EXPORT_TAGS = {    ':all': MochiKit.Format.EXPORT,    ':common': MochiKit.Format.EXPORT};MochiKit.Format.__new__ = function () {    // MochiKit.Base.nameFunctions(this);    var base = this.NAME + ".";    var k, v, o;    for (k in this.LOCALE) {        o = this.LOCALE[k];        if (typeof(o) == "object") {            o.repr = function () { return this.NAME; };            o.NAME = base + "LOCALE." + k;        }    }    for (k in this) {        o = this[k];        if (typeof(o) == 'function' && typeof(o.NAME) == 'undefined') {            try {                o.NAME = base + k;            } catch (e) {                // pass            }        }    }};MochiKit.Format.__new__();if (typeof(MochiKit.Base) != "undefined") {    MochiKit.Base._exportSymbols(this, MochiKit.Format);} else {    (function (globals, module) {        if ((typeof(JSAN) == 'undefined' && typeof(dojo) == 'undefined')            || (typeof(MochiKit.__compat__) == 'boolean' && MochiKit.__compat__)) {            var all = module.EXPORT_TAGS[":all"];            for (var i = 0; i < all.length; i++) {                globals[all[i]] = module[all[i]];             }        }       })(this, MochiKit.Format);  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -