Примеры JavaScript - Как заполнить одну строку другой до определённой длины?

ОГЛАВЛЕНИЕ


Как заполнить одну строку другой до определённой длины (аналог PHP ф-ии str_pad в Javascript)?

Добавим к стандартному объекту String свой метод String.pad(). Метод может принимать 3 параметра (но обязателен только первый): длина до которой нужно дополнить строку; строка заполнитель (по умолчанию пробел); тип заполнения (0 - заполнить слева, 1 - заполнить справа, 2 - заполнить с обеих сторон; по умолчанию берется 1).

String.prototype.pad = function(l, s, t)
{
  if ((l -= this.length) > 0)
  {
    if (!s) s = " ";//по умолчанию строка заполнитель - пробел
    if (t==null) t = 1;//по умолчанию тип заполнения справа
 
    s = s.repeat(Math.ceil(l / s.length));
    var i = t==0 ? l : (t == 1? 0 : Math.floor(l / 2));
    s= s.substr(0, i) + this + s.substr(0, l - i);
 
    return s;
  }
  else return this;
}

//повторить заданную строку n раз
String.prototype.repeat = function(n)
{
  return new Array( n + 1 ).join(this);
}