Как узнать на javascript длину строки

25.06.2017 at 14:07

Для вычисления длины у строки в javascript есть свойство length, которое возвращает длину строки в символах

var mystr = "qwerty";
console.log(mystr.length); //6

Как посчитать на javascript длину строки в байтах

Основная сложность в вычислении размера в байтах состоит в том, что в юникоде разные символы занимают разное количество байт. Для вычисления размера в байтах можно использовать TextEncoder

console.log(new TextEncoder('utf-8').encode('qwe').length);//3
console.log(new TextEncoder('utf-8').encode('рус').length);//6

Но, к сожалению, TextEncoder не поддерживается в браузерах Edge и Safari

Как посчитать на javascript длину строки в пикселях

Для вычисления длины строки в пикселях есть несколько способов, самый простой из них — создать элемент span, в него добавить этот текст, получить его ширину и удалить span.

window.getWidthOfText = function(txt, fontname, fontsize) {
  el = document.createElement('span');
  el.style.fontSize = fontsize;
  el.style.fontFamily = fontname;
  el.innerHTML = txt;
  document.body.appendChild(el);
  var result = this.e.offsetWidth;
  document.body.removeChild(el);
  return result;
}