Показать сообщение отдельно
  #2 (permalink)  
Старый 21.10.2010, 12:20
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

/**
     * Обрезает строку до длины length справа, слева или в центре, в зависимости от параметра mode. Вместо вырезанного
     * куска вставляет строку truncation.
     * @param {Number} length (Optional) Длина результирующей строки (по умолчанию 30).
     * @param {String} truncation (Optional) Строка, добавляемая вместо вырезанной части (по умолчанию '...').
     * @param {String} mode (Optional) Режим работы. left -- отрезает слева, right -- справа, center -- в центре.
     * (по умолчанию right).
     * @return {String} Обрезанная строка.
     */
    String.prototype.truncate = function(length, truncation, mode) {
        length = length || 30;
        if (this.length <= length) {
            return this.valueOf();
        }
        truncation = truncation || '...';
        switch (mode) {
            case 'left':
                return truncation + this.slice(truncation.length - length);
            case 'center':
                var l = Math.floor((length - truncation.length) / 2);
                return this.slice(0, l) + truncation + this.slice(-l);
            default:
                return this.slice(0, length - truncation.length) + truncation;
        }
    };

alert('1234567890'.truncate(5));
Ответить с цитированием