Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. String
  6. String.prototype.substr()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

String.prototype.substr()

Предупреждение:Так какString.prototype.substr(…) не полностью упразднена (а лишь "удалена из стандартов по вебу"), она считаетсяунаследованной функцией, использование которой лучше избегать там, где это возможно. Она не является частью ядра языка JavaScript и может быть удалена в будущем. Если есть возможность, используйте методsubstring().

Методsubstr() возвращает указанное количество символов из строки, начиная с указанной позиции.

Интерактивный пример

const str = "Mozilla";console.log(str.substr(1, 2));// Expected output: "oz"console.log(str.substr(2));// Expected output: "zilla"

Синтаксис

str.substr(start[, length])

Параметры

start

Позиция, с которой начинать извлекать символы. Если передано отрицательное число, она трактуется какstrLength - start, гдеstrLength равна длине строки (например, если параметрstart равен -3, то он трактуется какstrLength - 3.)

length

Необязательный параметр. Количество извлекаемых символов.

Возвращаемое значение

Новая строка, содержащая часть исходной, обрезанной по переданным параметрам.

Описание

Параметрstart является индексом символа. Индекс первого символа равен 0, а последнего символа — на один меньше длины строки. Методsubstr() начинает извлекать символы начиная с позицииstart и собираяlength символов (если он не достигнет раньше конца строки, в этом случае будет возвращено меньшее количество символов).

Если параметрstart является положительным и он больше, либо равен длине строки, методsubstr() вернёт пустую строку.

Если параметрstart является отрицательным, методsubstr() использует его как индекс символа, начиная с конца строки. Если параметрstart отрицателен и по модулю больше длины строки, методsubstr() будет использовать 0 в качестве начального индекса. Обратите внимание: описанная обработка отрицательных значений аргументаstart не поддерживается JScript от Microsoft.

Если параметрlength равен нулю или отрицателен, методsubstr() вернёт пустую строку. Если параметрlength опущен, методsubstr() извлечёт все символы до конца строки.

Примеры

Использование методаsubstr()

js
var str = "абвгдеёжзи";console.log("(1, 2): " + str.substr(1, 2)); // '(1, 2): бв'console.log("(-3, 2): " + str.substr(-3, 2)); // '(-3, 2): жз'console.log("(-3): " + str.substr(-3)); // '(-3): жзи'console.log("(1): " + str.substr(1)); // '(1): бвгдеёжзи'console.log("(-20, 2): " + str.substr(-20, 2)); // '(-20, 2): аб'console.log("(20, 2): " + str.substr(20, 2)); // '(20, 2): '

Полифил

JScript от Microsoft не поддерживает отрицательные значения для начального индекса. Если вы хотите использовать эту возможность, вы можете использовать следующий код совместимости для обхода этой ошибки:

js
// only run when the substr() function is brokenif ("ab".substr(-1) != "b") {  /**   *  Get the substring of a string   *  @param  {integer}  start   where to start the substring   *  @param  {integer}  length  how many characters to return   *  @return {string}   */  String.prototype.substr = (function (substr) {    return function (start, length) {      // call the original method      return substr.call(        this,        // did we get a negative start, calculate how much it is from the beginning of the string        // adjust the start parameter for negative value        start < 0 ? this.length + start : start,        length,      );    };  })(String.prototype.substr);}

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-string.prototype.substr

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp