Показать сообщение отдельно
  #8 (permalink)  
Старый 19.11.2011, 20:46
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

str="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
lines_num= Math.floor(str.length/20) + (str.length%20 ? 1 : 0);// вычисляем кол-во строк
arr=[];
for (var i=0; i!= lines_num; ++i) {
 arr.push(str.substring(i*20, (i+1)*20));
};
alert(arr.join("\n"));


Хотя лучше регулярками:
str="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
alert(str.match(/[\s\S]{0,20}/g).join("\n"));


UPD: Упс, ошибка вышла. Поправил регулярку.
UPD: Правильнее использовать Math.floor.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)

Последний раз редактировалось trikadin, 19.11.2011 в 23:04.
Ответить с цитированием