Обрезание строки до заданной длины с обоих краев в JavaScript
Метод truncateBoth()
В JavaScript нет отдельного метода для данной задачи. Однако его можно добавить самостоятельно.
Исходный код
if (!String.prototype.truncateBoth) {
String.prototype.truncateBoth = function (length) {
var string = '' + this;
length = parseInt(length);
if (length <= 0) {
string = '';
} else {
var truncateLength = string.length - length;
if (truncateLength > 0) {
string = string.substr(Math.floor(truncateLength / 2), length);
}
}
return string;
};
}
Синтаксис
string.truncateBoth ( length )
Аргументы
- length — нужная длина строки.
Возвращаемое значение
Возвращает новую строку, содержащую строку string, на которой был вызван метод truncateBoth(), обрезанную до длины length с обоих краев.
Особенности
- Безопасна для многобайтных строк.
- Важно помнить, что при вычислении обрезаемых подстрок в приоритете правый край. Т.е. если строка обрезается на 3 символа, то с правого края будет срезано 2 символа, а с левого — 1.