Учебник по JS

ГЛАВНАЯ JS Введение JS Куда Вывод JS Заявления JS JS-синтаксис JS-комментарии JS-переменные JS Пусть Константа JS JS-операторы JS-арифметика Назначение JS JS-типы данных JS-функции JS-объекты JS-события JS-строки Строковые методы JS Поиск строки JS Шаблоны строк JS JS-номера Методы номеров JS JS-массивы Методы массива JS Сортировка массива JS Итерация массива JS Константа массива JS JS-даты Форматы даты JS Методы получения даты JS Методы установки даты JS JS-математика JS Случайный JS Булевы значения Сравнение JS JS-условия JS-переключатель JS цикл для Цикл JS для входа Цикл JS для Цикл JS во время Перерыв JS JS-итерации JS-наборы JS-карты JS Typeof Преобразование типов JS JS побитовый JS регулярное выражение JS-ошибки Область JS JS-подъем Строгий режим JS JS это ключевое слово Функция стрелки JS JS-классы JS JSON JS-отладка Руководство по стилю JS Лучшие практики JS JS-ошибки JS-производительность Зарезервированные слова JS

JS-версии

JS-версии JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE/пограничный История JS

JS-объекты

Определения объектов Свойства объекта Методы объекта Отображение объекта Средства доступа к объектам Конструкторы объектов Прототипы объектов Итерации объектов Наборы объектов Карты объектов Ссылка на объект

JS-функции

Определения функций Параметры функции Вызов функции Вызов функции Функция Применить Закрытие функций

JS-классы

Введение в класс Наследование классов Статический класс

JS асинхронный

Обратные вызовы JS JS асинхронный JS-обещания JS асинхронный/ожидание

JS HTML DOM

Дом Введение DOM-методы Документ DOM DOM-элементы DOM HTML DOM-формы ДОМ CSS DOM-анимации События ДОМ Слушатель событий DOM DOM-навигация DOM-узлы Коллекции DOM Списки узлов DOM

Спецификация браузера JS

JS-окно JS-экран Местоположение JS История JS JS-навигатор Всплывающее оповещение JS JS Тайминг JS-куки

JS-веб-API

Введение в веб-API API веб-форм API истории веб-поиска API веб-хранилища API веб-работника API веб-выборки API веб-геолокации

JS АЯКС

Введение в АЯКС AJAX XMLHttp АЯКС-запрос AJAX-ответ XML-файл AJAX АЯКС PHP АЯКС АСП База данных AJAX AJAX-приложения Примеры AJAX

JS JSON

Введение в JSON Синтаксис JSON JSON против XML Типы данных JSON Анализ JSON Строковая JSON JSON-объекты JSON-массивы JSON-сервер JSON PHP JSON HTML JSON JSONP

JS против JQuery

Селекторы jQuery JQuery HTML jQuery CSS JQuery DOM

JS-графика

JS-графика JS Холст JS сюжет JS Chart.js JS Google Диаграмма JS D3.js

JS-примеры

JS-примеры JS HTML DOM JS HTML-ввод HTML-объекты JS HTML-события JS JS-браузер JS-редактор JS-упражнения JS-викторина JS-сертификат

JS-ссылки

Объекты JavaScript HTML DOM-объекты


Строковые методы JavaScript


Строковые методы помогают вам работать со строками.


Строковые методы и свойства

Примитивные значения, такие как «Джон Доу», не могут иметь свойств или методов (поскольку они не являются объектами).

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


Длина строки JavaScript

Свойство lengthвозвращает длину строки:

Пример

let txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = txt.length;

Извлечение частей строки

Есть 3 способа извлечения части строки:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

Срез строки JavaScript()

slice() извлекает часть строки и возвращает извлеченную часть в новой строке.

Метод принимает 2 параметра: начальную позицию и конечную позицию (конец не включен).

В этом примере часть строки вырезается из позиции 7 в позицию 12 (13-1):

Пример

let str = "Apple, Banana, Kiwi";
let part = str.slice(7, 13);

Примечание

JavaScript считает позиции с нуля.

Первая позиция 0.

Вторая позиция 1.

Если параметр отрицательный, позиция считается с конца строки.

В этом примере часть строки вырезается из позиции -12 в позицию -6:

Пример

let str = "Apple, Banana, Kiwi";
let part = str.slice(-12, -6);

Если вы опустите второй параметр, метод вырежет остальную часть строки:

Пример

let part = str.slice(7);

или, считая с конца:

Пример

let part = str.slice(-12);


JavaScript Строка подстрока ()

substring()похож на slice().

Разница заключается в том, что substring()не может принимать отрицательные индексы.

Пример

let str = "Apple, Banana, Kiwi";
let part = str.substring(7, 13);

Если опустить второй параметр, substring()будет порезать остальную часть строки.


Строка JavaScript substr()

substr()похож на slice().

Разница в том, что второй параметр указывает длину извлеченной части.

Пример

let str = "Apple, Banana, Kiwi";
let part = str.substr(7, 6);

Если опустить второй параметр, substr()будет порезать остальную часть строки.

Пример

let str = "Apple, Banana, Kiwi";
let part = str.substr(7);

Если первый параметр отрицательный, позиция считается с конца строки.

Пример

let str = "Apple, Banana, Kiwi";
let part = str.substr(-4);

Замена строкового содержимого

replace()Метод заменяет указанное значение с другим значением в строке:

Пример

let text = "Please visit Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");

Примечание

replace()Метод не изменяет строку она вызвана.

replace()Метод возвращает новую строку.

По умолчанию, replace()метод заменяет только первый матч:

Пример

let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");

По умолчанию, replace()метод чувствителен к регистру. Запись MICROSOFT (с прописной) не будет работать:

Пример

let text = "Please visit Microsoft!";
let newText = text.replace("MICROSOFT", "W3Schools");

Чтобы заменить нечувствительный к регистру, используйте регулярное выражение с /iфлагом (нечувствительным):

Пример

let text = "Please visit Microsoft!";
let newText = text.replace(/MICROSOFT/i, "W3Schools");

Примечание

Регулярные выражения пишутся без кавычек.

Чтобы заменить все совпадения, используйте регулярное выражение с /gфлагом (глобальное совпадение):

Пример

let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace(/Microsoft/g, "W3Schools");

Примечание

Вы узнаете намного больше о регулярных выражениях в главе Регулярные выражения JavaScript .


Преобразование в верхний и нижний регистр

Строка преобразуется в верхний регистр с помощью toUpperCase():

Строка преобразуется в нижний регистр с помощью toLowerCase():


JavaScript Строка toUpperCase ()

Пример

let text1 = "Hello World!";
let text2 = text1.toUpperCase();

JavaScript Строка toLowerCase ()

Пример

let text1 = "Hello World!";       // String
let text2 = text1.toLowerCase();  // text2 is text1 converted to lower

Конкат строк JavaScript()

concat() объединяет две или более строки:

Пример

let text1 = "Hello";
let text2 = "World";
let text3 = text1.concat(" ", text2);

concat()Метод может быть использован вместо оператора плюс. Эти две линии делают то же самое:

Пример

text = "Hello" + " " + "World!";
text = "Hello".concat(" ", "World!");

Примечание

Все строковые методы возвращают новую строку. Они не изменяют исходную строку.

Официально сказал:

Строки неизменны: Строки не могут быть изменены, только заменить.


Обрезка строки JavaScript()

В trim()метод удаляет пробельные символы с обеих сторон строки:

Пример

let text1 = "      Hello World!      ";
let text2 = text1.trim();

JavaScript Строка Перетяжка

В ECMAScript 2017 добавлено два метода String: padStart и padEndдля поддержки заполнения в начале и в конце строки.


JavaScript Строка padStart ()

Пример

let text = "5";
let padded = text.padStart(4,0);

Поддержка браузера

padStart()является +2017 особенности ECMAScript.

Поддерживается во всех современных браузерах:

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

padStart()не поддерживается в Internet Explorer.


Строка JavaScript padEnd()

Пример

let text = "5";
let padded = text.padEnd(4,0);

Поддержка браузера

padEnd()является +2017 особенности ECMAScript.

Поддерживается во всех современных браузерах:

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

padEnd()не поддерживается в Internet Explorer.


Извлечение строк символов

Есть 3 способа извлечения строки символов:

  • charAt(position)
  • charCodeAt(position)
  • Доступ к собственности [ ]

Строка JavaScript charAt()

Метод charAt()возвращает символ по указанному индексу (позиции) в строке:

Пример

let text = "HELLO WORLD";
let char = text.charAt(0);

JavaScript Строка charCodeAt ()

Метод charCodeAt()возвращает юникод символа по указанному индексу в строке:

Метод возвращает UTF-16 код (целое число в диапазоне от 0 до 65535).

Пример

let text = "HELLO WORLD";
let char = text.charCodeAt(0);

Доступ к собственности

ECMAScript 5 (2009) позволяет доступ к свойству [] на строках:

Пример

let text = "HELLO WORLD";
let char = text[0];

Примечание

Доступ к свойству может быть немного непредсказуемым:

  • Это делает строки выглядеть массивы (но они не являются)
  • If no character is found, [ ] returns undefined, while charAt() returns an empty string.
  • It is read only. str[0] = "A" gives no error (but does not work!)

Example

let text = "HELLO WORLD";
text[0] = "A";    // Gives no error, but does not work

Converting a String to an Array

If you want to work with a string as an array, you can convert it to an array.

JavaScript String split()

A string can be converted to an array with the split() method:

Example

text.split(",")    // Split on commas
text.split(" ")    // Split on spaces
text.split("|")    // Split on pipe

If the separator is omitted, the returned array will contain the whole string in index [0].

If the separator is "", the returned array will be an array of single characters:

Example

text.split("")

Complete String Reference

For a complete String reference, go to our:

Complete JavaScript String Reference.

The reference contains descriptions and examples of all string properties and methods.

Test Yourself With Exercises

Exercise:

Convert the text into an UPPERCASE text:

let txt = "Hello World!";
txt = txt.;