Javascript 經常使用的工具函數,更新中...

一、時間戳轉爲格式化時間

/**
 * 時間戳轉爲格式化時間
 * @Author   chenjun
 * @DateTime 2017-11-10
 * @param    {[date]}   timestamp [時間戳]
 * @param    {[string]}   formats   [時間格式]
 */
function formatDate(timestamp, formats) {
    /*
    formats格式包括
    1. Y-M-D
    2. Y-M-D h:m:s
    3. Y年M月D日
    4. Y年M月D日 h時m分
    5. Y年M月D日 h時m分s秒
    示例:console.log(formatDate(1500305226034, 'Y年M月D日 h:m:s')) ==> 2017年07月17日 23:27:06
     */
    formats = formats || 'Y-M-D';

    var myDate = timestamp ? new Date(timestamp) : new Date();

    var year = myDate.getFullYear();
    var month = formatDigit(myDate.getMonth() + 1);
    var day = formatDigit(myDate.getDate());

    var hour = formatDigit(myDate.getHours());
    var minute = formatDigit(myDate.getMinutes());
    var second = formatDigit(myDate.getSeconds());

    return formats.replace(/Y|M|D|h|m|s/g, function(matches) {
        return ({
            Y: year,
            M: month,
            D: day,
            h: hour,
            m: minute,
            s: second
        })[matches];
    });
    // 小於10補0
    function formatDigit(n) {
        return n.toString().replace(/^(\d)$/, '0$1');
    };
}

二、千分位顯示,經常使用於價格顯示:

// 千分位
function toThousands(num) {
    return parseFloat(num).toFixed(2).replace(/(\d{1,3})(?=(\d{3})+(?:\.))/g, "$1,");
}

三、超出顯示省略號

// 超出顯示省略號
function cutString(str, len) {
    //length屬性讀出來的漢字長度爲1
    if (str.length * 2 <= len) {
        return str;
    }
    var strlen = 0;
    var s = "";
    for (var i = 0; i < str.length; i++) {
        s = s + str.charAt(i);
        if (str.charCodeAt(i) > 128) {
            strlen = strlen + 2;
            if (strlen >= len) {
                return s.substring(0, s.length - 1) + "...";
            }
        } else {
            strlen = strlen + 1;
            if (strlen >= len) {
                return s.substring(0, s.length - 2) + "...";
            }
        }
    }
    return s;
}

四、生成隨機整數

// 生成隨機整數
function random(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
相關文章
相關標籤/搜索