Задать вопрос

Как в JavaScript разделить строку на одинаковое количество символов?

Здравствуйте, я пишу мессенджер на JavaScript и мне нужно при условии, если пользователь отправил длинное слово без пробелов (скажем при очень длинных ссылках) делить его на равное количество символов (у меня - это 28) и в конце каждого из набора символов ставить экранирование \n, иначе строка выходит из блока и едет поездом до Москвы за пределы окна браузера.

Я начал примерно так и дальше меня хватил ступор:
var text = inputField.val();

text.trim();

var words = text.split(' ');

for (var i = 0; i < words.length; i++) {
   if (words[i].length >= 28) {
     //здесь явно что-то надо сделать
   }
}
  • Вопрос задан
  • 1021 просмотр
Подписаться 1 Оценить Комментировать
Решения вопроса 1
AppFA
@AppFA
Frontend developer at Yandex
Почему бы не обойтись обычным css?
https://jsfiddle.net/krkm8a2c/
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@eavam
css?

a {
  word-wrap: break-word;
}
Ответ написан
Комментировать
@toly19
Накидал код за пару минут :)
function resString(str, num) {
	return str.split(" ").map(function (a) {
		if (a.length >= num) {
			var q = [];
			a.split("").forEach(function (z, n) {
				if ((n + 1) % num === 0) {
					q.push(z, "\n");
				} else {
					q.push(z);
				};
			});
			return q.join("");
		};
		return a;
	}).join(" ");
};
console.log(resString("kekekekekekekekekekeke",5))


Код не претендует на адекватность
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы