Логотип schoolsw3.com
Учебники Справочники Упражнения КАК? Меню
Создать
Редактор Поддержка Форум

×
Учебники
Справочники
Упражнения
Пожертвовать Обновление Реклама Видео Магазин

JS Учебник

JS Главная JS Введение JS Установить JS Вывод JS Заявления JS Синтаксис JS Комментарии JS Переменные JS Let JS Const JS Операторы JS Арифметика JS Присваивание JS Типы данных JS Функции JS Объекты JS События JS Строки JS Методы строк JS Поиск строк JS Шаблоны строк JS Числа JS BigInt JS Методы чисел JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Постоянный массив JS Даты JS Формат дат JS Методы получения дат JS Методы набора дат JS Объекты Math JS Случайные числа JS Булевы JS Сравнения JS Оператор If...Else JS Оператор Switch JS Цикл For JS Цикл For In JS Цикл For Of JS Цикл While JS Оператор Break JS Повторяющиеся JS Наборы JS Карты JS Typeof JS Преобразование JS Битовые JS Выражения JS Ошибки JS Область JS Подъемный JS Строгий JS Ключевое слово this 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/Edge JS История

JS Объекты

Определение объекта Свойства объекта Методы объекта Отображение объекта Доступ объекта Конструкторы объекта Прототипы объекта Повторяющиеся объекты Набор объектов Карты объекта Справочник объектов

JS Функции

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

JS Классы

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

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

JS Обратный вызов JS Асинхронный JS Обещания JS Асинхронный

JS HTML DOM

DOM Введение DOM Методы DOM Документы DOM Элементы DOM HTML DOM Формы DOM CSS DOM Анимация DOM События DOM Прослушиватель DOM Навигация DOM Узлы DOM Коллекция DOM Список узлов

JS Браузер BOM

JS Window JS Экран JS Расположение JS История JS Навигатор JS Предупреждение JS Синхронизация JS Куки

JS Веб APIы

Веб API Введение Веб API История Веб API Хранилище Веб API Работник Веб API Извлечь Веб API Геолокации

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос на сервер AJAX Ответ с сервера AJAX Файл XML AJAX Файл PHP AJAX Файл ASP AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON или XML JSON Типы данных JSON Парсинг JSON Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS или jQuery

jQuery Селекторы jQuery Элементы jQuery CSS jQuery DOM


JavaScript Методы строк



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


JavaScript Методы строк и свойств

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

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


JavaScript Свойство length

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

Пример
var txt = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
var sln = txt.length;
Попробуйте сами »

JavaScript Метод indexOf()

Метод indexOf() возвращает индекс (положение) на first вхождения указанного текста в строке:

Пример
var str = "Пожалуйста, найдите, где происходит 'размещение'!";
var pos = str.indexOf("размещение");
Попробуйте сами »

JavaScript считает позиции с нуля.
0 - первая позиция в строке, 1 - вторая, 2 - третья ...

Метод lastIndexOf() возвращает индекс последнего вхождения указанного текста в строке:

Пример
var str = "Пожалуйста, найдите, где происходит 'размещение'!";
var pos = str.lastIndexOf("размещение");
Попробуйте сами »

Оба indexOf(), и lastIndexOf() возвращают -1, если текст не найден.

Пример
var str = "Пожалуйста, найдите, где происходит 'размещение'!";
var pos = str.lastIndexOf("размещение");
Попробуйте сами »

Оба метода принимают второй параметр в качестве начальной позиции для поиска:

Пример
var str = "Пожалуйста, найдите, где происходит 'размещение'!";
var pos = str.indexOf("размещение", 15);
Попробуйте сами »

Эти lastIndexOf() методы выполняют поиск в обратном направлении (от конца к началу), что означает: если второй параметр равен 15, поиск начинается с позиции 15 и выполняется поиск до начала строки.

Пример
var str = "Пожалуйста, найдите, где происходит 'размещение'!";
var pos = str.lastIndexOf("размещение", 15);
Попробуйте сами »

JavaScript Метод search()

Метод search() ищет строку для указанного значения и возвращает позицию матча:

Пример
var str = "Пожалуйста, найдите, где происходит 'размещение'!";
var pos = str.search("размещение");
Попробуйте сами »

Вы Заметили?

Два метода, indexOf() и search(), равны?

Они принимают одни и те же аргументы (параметры) и возвращают одно и то же значение?

Эти два метода НЕ равны. Вот отличия:

  • Метод search() не может принимать второй аргумент позиции начала.
  • Метод indexOf() не может принимать мощные значения поиска (регулярные выражения).

Вы узнаете больше о регулярных выражениях в следующей главе.



JavaScript Извлечение строчных частей

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

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

JavaScript Метод slice()

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

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

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

Пример
var str = "Яблоко, Банан, Киви";
var res = str.slice(7, 13);

Результатом res будет:

Банан
Попробуйте сами »

Помните: JavaScript считает позиции с нуля. Первая позиция - 0.

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

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

Пример
var str = "Яблоко, Банан, Киви";
var res = str.slice(-12, -6);

Результатом res будет:

Банан
Попробуйте сами »

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

Пример
var res = str.slice(7);
Попробуйте сами »

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

Пример
var res = str.slice(-12);
Попробуйте сами »

Отрицательные позиции не работают в Internet Explorer 8 и ранее.


JavaScript Метод substring()

Метод substring() похоже на slice().

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

Пример
var str = "Яблоко, Банан, Киви";
var res = str.substring(7, 13);

Результатом res будет:

Банан
Попробуйте сами »

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


JavaScript Метод substr()

Метод substr() похоже на slice().

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

Пример
var str = "Яблоко, Банан, Киви";
var res = str.substr(7, 6);

Результатом res будет:

Банан
Попробуйте сами »

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

Пример
var str = "Яблоко, Банан, Киви";
var res = str.substr(7);

Результатом res будет:

Банан, Киви
Попробуйте сами »

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

Пример
var str = "Яблоко, Банан, Киви";
var res = str.substr(-4);

Результатом res будет:

Киви
Попробуйте сами »

JavaScript Метод replace()

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

Пример
str = "Пожалуйста, посетите Microsoft!";
var n = str.replace("Microsoft", "Schoolsw3");
Попробуйте сами »

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

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

Пример
str = "Пожалуйста, посетите Microsoft и Microsoft!";
var n = str.replace("Microsoft", "Schoolsw3");

Попробуйте сами »

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

Пример
str = "Пожалуйста, посетите Microsoft!";
var n = str.replace("MICROSOFT", "Schoolsw3");

Попробуйте сами »

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

Пример
str = "Пожалуйста, посетите Microsoft!";
var n = str.replace(/MICROSOFT/i, "Schoolsw3");

Попробуйте сами »

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

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

Пример
str = "Пожалуйста, посетите Microsoft и Microsoft!";
var n = str.replace(/Microsoft/g, "Schoolsw3");

Попробуйте сами »

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


JavaScript Метод toUpperCase()

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

Пример
var text1 = "Привет, мир!";       // Строка
var text2 = text1.toUpperCase();  // text2 к text1, преобразованный в верхний
Попробуйте сами »

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

Пример
var text1 = "Привет, мир!";       // Строка
var text2 = text1.toLowerCase();  // text2 к text1, преобразованный в нижний
Попробуйте сами »

JavaScript Метод concat()

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

Пример
var text1 = "Привет";
var text2 = "Мир";
var text3 = text1.concat(" ", text2);
Попробуйте сами »

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

Пример
var text = "Привет" + " " + "Мир!";
var text = "Привет".concat(" ", "Мир!");

Все строковые методы возвращают новую строку. Они не изменяют исходную строку.
Формально сказано: строки неизменяемы: строки нельзя изменить, их можно только заменить.


JavaScript Метод trim()

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

Пример
var str = "       Привет, мир!        ";
alert(str.trim());
Попробуйте сами »

Этот trim() метод не поддерживается в Internet Explorer 8 и ниже.

Если вам нужна поддержка IE 8, вы можете использовать replace() вместо этого регулярное выражение:

Пример
var str = "       Привет, мир!        ";
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));
Попробуйте сами »

Вы также можете использовать решение замены выше, чтобы добавить функцию обрезки в JavaScript String.prototype:

Пример
if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
  };
}
var str = "       Привет, мир!        ";
alert(str.trim());
Попробуйте сами »

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

Есть 3 метода извлечения строковых символов:

  • charAt(position)
  • charCodeAt(position)
  • Property access [ ]

JavaScript Метод charAt()

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

Пример
var str = "ПРИВЕТ МИР";
str.charAt(0);            // возвращается П
Попробуйте сами »

JavaScript Метод charCodeAt()

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

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

Пример
var str = "ПРИВЕТ МИР";

str.charCodeAt(0);         // возвращается 1055
Попробуйте сами »

JavaScript [ ]

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

Пример
var str = "ПРИВЕТ МИР";
str[0];                   // возвращается П
Попробуйте сами »

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

  • Не работает в Internet Explorer 7 или более ранней версии.
  • Это делает строки похожими на массивы (но это не так)
  • Если символ не найден, [] возвращает значение undefined, а charAt () возвращает пустую строку.
  • Он доступен только для чтения. str [0] = "A" не выдает ошибки (но не работает!)
Пример
var str = "ПРИВЕТ МИР";
str[0] = "A";             // Не дает никакой ошибки, но и не работает
str[0];                   // возвращается П
Попробуйте сами »

Если вы хотите работать со строкой как с массивом, вы можете преобразовать ее в массив.


JavaScript split()

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

Пример
var txt = "a,b,c,d,e";   // Строка
txt.split(",");          // Разделение на запятые
txt.split(" ");          // Разделение на пробелы
txt.split("|");          // Разделение на трубы
Попробуйте сами »

Если разделитель опущен, возвращаемый массив будет содержать всю строку в индексе [0].

Если разделитель "", возвращаемый массив будет массивом одиночных символов:

Пример
var txt = "Привет";       // Строка
txt.split("");           // Разделение на символы
Попробуйте сами »

JavaScript Полный справочник строк

Для получения полного справочника по строкам перейдите по ссылке: Справочник строк JavaScript.

Справочник содержит описания и примеры всех строковых свойств и методов.


Проверте себя с помощью упражнения

JavaScript упражнение:

Найдите положение символа h в строке txt.
var txt = "abcdefghijklm";
var pos = txt.;