Jquery множественный поиск в строке. Javascript - строке - удалить подстроку из строки js

Когда я пишу на javascript, то приходится часто обращаться к поисковым системам, с целью уточнить синтаксис методов (и порядок, определение аргументов) работающих со строками.

В этой статье я постараюсь привести примеры и описание наиболее распространенных методов javascript связанных со строками. Наиболее популярные методы для удобства расположены в верхней части статьи.

Преобразовываем в строку

Вы можете преобразовать число, булево значение или объект в строку.

Var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

Вы также можете совершить подобную манипуляцию при помощи функции string() .

Var myNumber = 24; // 24 var myString = String(myNumber); // "24"

Николас Закас говорит: "Если вы не уверены в значении (null или undefined), то используйте функцию String() , так как она возвращает строку в независимости от типа переменной".

undefined означает, что переменной не присвоено никакого значения, a null , - что ей присвоено пустое значение (можно сказать, что null определяется, как пустой объект).

Разбиваем строку на подстроки

Чтобы разбить строку на массив из подстрок вы можете использовать метод split() :

Var myString = "coming,apart,at,the,commas"; var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["coming", "apart", "at"]

Как следует из последней строки, значение второго необязательного аргумента определяет количество элементов у возвращаемого массива.

Получить длину строки

При помощи свойства length вы можете найти число юникодных символов в строке:

Var myString = "You"re quite a character."; var stringLength = myString.length; // 25

Определяем подстроку в строке

Есть два способа осуществить задуманное:

Использовать indexOf() :

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

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

Использовать lastIndexOf() :

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Метод lastIndexOf() делает все то же самое, за исключением того, что он ищет последнюю подстроку по вхождению в строку.

В случае, если подстрока не найдена оба метода возвращают -1. Второй необязательный аргумент указывает на позицию в строке, с которой вы хотите начать поиск. Так, если для метода indexOf() второй аргумент равен 5, то поиск начнется с 5-го символа, а 0-4 символы будут проигнорированы. Для lastIndexOf() , также если второй аргумент равен 5, поиск начнется в обратном направлении, причем символы от 6-го и выше будут проигнорированы.

Как заменить часть строки

Чтобы заменить часть (или даже всю) строки используйте метод replace() .

Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

В первом аргументе содержится та часть подстроки, которая подлежит замене; второй аргумент - это та строка, которая встанет на место заменяемой подстроки. Будет заменен только первый экземпляр подстроки.

Чтобы заменить все вхождения подстроки, используйте регулярное выражение c флагом " g ".

Var myString = "She sells automotive shells on the automotive shore"; var newString = myString.replace(/automotive/g, "sea"); console.log(newString); // "She sells sea shells on the sea shore"

Второй аргумент может включать заменяемую подстроку или функцию.

Найти символ по заданной позиции

Чтобы выяснить какой символ стоит в заданной позиции, вы можете использовать метод charAt() :

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charAt(7); // "f"

Как это часто бывает в javascript, первая позиция ведет свой отсчет с 0, а не с 1.

Как альтернативу вы можете использовать метод charCodeAt() , однако вместо самого символа вы получите его код.

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Отметьте, что код для прописной буквы (позиция 11) отличается от кода той же буквы, но в малом регистре (позиция 7).

Конкатенация строк в javascript

По большой части для конкатенации строк вы будете использовать оператор (+). Но вы также можете объединить строки, используя метод concat() .

Var stringOne = "Knibb High football "; var stringTwo = stringOne.concat("rules."); // "Knibb High football rules"

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

Var stringOne = "Knibb "; var stringTwo = "High "; var stringThree = "football "; var stringFour = "rules."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // "Knibb high football rules."

Часть строки (извлечь подстроку в javascript)

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

Используя slice() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

Используя substring() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

Для обеих (slice() и substring()) методов первый аргумент - это позиция символа, с которого начинается подстрока (отсчет ведется с 0) , второй аргумент - это позиция символа, на котором подстрока заканчивается, причем символ, обозначенный во втором аргументе, не включается в возвращаемую подстроку.

Используя substr() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

Для метода substr первый аргумент также определяет позицию символа, с которого начинается подстрока. Второй аргумент является необязательным. Но в тоже время второй аргумент определяет количество символов, которые должны быть включены в подстроку, начиная с позиции, которую мы уже определили в первом аргументе. Данная методика хорошо проиллюстрирована на примере выше.

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

Есть четыре метода сделать необходимые преобразования. Два для преобразования символов строки в верхний регистр.

Var stringOne = "Speak up, I can"t hear you."; var stringTwo = stringOne.toLocaleUpperCase(); // "SPEAK UP, I CAN"T HEAR YOU" var stringThree = stringOne.toUpperCase(); // "SPEAK UP, I CAN"T HEAR YOU"

И два для преобразования строки в нижний регистр:

Var stringOne = "YOU DON"T HAVE TO YELL"; var stringTwo = stringOne.toLocaleLowerCase(); // "you don"t have to yell" var stringThree = stringOne.toLowerCase(); // "you don"t have to yell"

Как правило, нет разницы между locale-методом и не-locale-методом, однако "для некоторых языков, например для турецкого, у которых регистр символов не следует установленному регистру в системе Unicode, последствия использования не-locale-метода могут быть различными". Поэтому следуйте следующему правилу: "если вы не знаете языка, в котором будет работать код, безопаснее использовать locale-методы".

Соответствие шаблону в javascript

Проверить наличие шаблона в строке можно при помощи 2-х методов.

Метод match() вызывается у объекта string , в качестве аргумента методу match() передается регулярное выражение.

Var myString = "How much wood could a wood chuck chuck"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "How much wood could a wood chuck chuck"

И exec() метод вызывается у RegExp объекта, в качестве аргумента передается строка:

Var myString = "How much wood could a wood chuck chuck"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "How much wood could a wood chuck chuck"

Оба метода возвращают первое совпавшее вхождение. Если совпадения не найдены будет возвращен NULL. Если у регулярного выражения присутствует флаг " g ", то в качестве результата будет возвращен массив, содержащий все совпадения.

Вы также можете использовать метод search(), который в качестве аргумента принимает регулярное выражение и возвращает начальную позицию первого совпавшего шаблона.

Var myString = "Assume"; var patternLocation = myString.search(/ume/); // 3

Если совпадений не найдено, метод возвратит -1.

Сравнение двух строк для последующей сортировки

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

MyString = "chicken"; var myStringTwo = "egg"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (except Chrome, which returns -2) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome returns 2)

Как показано выше, будет возвращено отрицательное значение, если оригинальная строка при сортировке оказывается перед строковым аргументом, если строковой аргумент при сортировке оказывается после оригинальная строки, возвращается значение +1. Если возвращается нулевое значение, две строки эквивалентны.

Когда пишешь JavaScript , очень часто приходится лазить по интернету в поисках информации о синтаксисе и параметрах для методов, работающих со строками.

Я прочитал множество статей по работе со строками. В данном посте будет показаны примеры и краткие описания наиболее распространенных методов по работе со строками. Я попытался поставить самые частые методы в верхней части для быстрого ознакомления.

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

Конвертирование в String

Вы можете конвертировать число, булево выражение или объект в строку:

Var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"

Вы можете сделать это так же с помощью String() :

Var myNumber = 24; // 24 var myString = String(myNumber); // "24"

Если вы не уверены, что значение не является null или undefined , вы можете использовать String() , которая всегда возвращает строку, независимо от типа значения.

Разделение строки в подстроки

Чтобы разделить строки в массив подстрок, вы можете использовать метод split():

Var myString = "coming,apart,at,the,commas"; var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["coming", "apart", "at"]

Как видно в последней строке, второй параметр функции — это лимит количества элементов, которое будет в итоговом массиве.

Получение длины строки

Чтобы найти, сколько символов в строки, мы используем свойство length:

Var myString = "You"re quite a character."; var stringLength = myString.length; // 25

Поиск подстроки в строке

Есть два метода для поиска подстроки:

Использование indexOf() :

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

indexOf() метод начинает поиск подстроки с начала строки, и возвращает позицию начала первого вхождения подстроки. В данном случае — 7 позиция.

Использование lastIndexOf() :

Var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Метод возвращает начальную позицию последнего вхождения подстроки в строку.

В обоих методах, если подстрока не найдена, возвращается значение -1, и оба принимают необязательный второй аргумент, указывающий положение в строке, где вы хотите начать поиск. Таким образом, если второй аргумент «5», indexOf() начинает поиск с 5 символа, игнорируя символы 0-4, в то время как lastIndexOf() начинает поиск с символа 5 и идет в обратном направлении, игнорируя символы 6 и дальше.

Замена подстроки

Чтобы заменить вхождение подстроки в строке на другую подстроку, вы можете использовать replace() :

Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

Первый аргумент — то, что вы хотите заменить и второй аргумент — новая строка. Функция заменяет только первое вхождение подстроки в строку.

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

Var myString = "She sells automotive shells on the automotive shore"; var newString = myString.replace(/automotive/g, "sea"); console.log(newString); // "She sells sea shells on the sea shore"

Второй аргумент может включать специальный шаблон или функцию. Подробней можно почитать .

Получить символ по заданной позиции в строке

Получить символ мы можем с помощью функции charAt() :

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charAt(7); // "f"

Как часто бывает в JavaScript, первая позиция в строке начинается с 0, а не с 1.

В качестве альтернативной функции можно использовать charCodeAt() функцию, которая код символа.

Var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Заметьте, что код для символа «F» (11 позиция) другой, нежели у символа «f» (позиция 7).

Соединение строк

В большинстве случаем, чтобы соединить строки, можно использовать оператор «+». Но так же можно использовать метод concat() :

Var stringOne = "Knibb High football "; var stringTwo = stringOne.concat("rules."); // "Knibb High football rules"

Таким способом мы можем соединить множество строк в одну в том порядке, в котором они записаны:

Var stringOne = "Knibb "; var stringTwo = "High "; var stringThree = "football "; var stringFour = "rules."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // "Knibb high football rules."

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

Есть 3 способа получения строки из части другой строки:

Используя slice() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

Используя substring() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

В обеих функция первый параметр — символ, с которого начинает подстрока (начиная с 0 позиции) и второй аргумент (необязательный) — позиция символа, до которого возвращается подстрока. В примере (5, 10) возвращается строка между позицией 5 и 9.

Используя substr() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

Первый аргумент — позиция символа, с которого начинается новая строка и второй аргумент — количество символов от начальной позиции новой строки. Т.е. (5, 10) возвращает 10 символов, начиная с 5 позиции.

Перевод строки в верхний или нижний регистр.

Есть 4 метода для перевода. Первые 2 переводят строку в верхний регистр:

Var stringOne = "Speak up, I can"t hear you."; var stringTwo = stringOne.toLocaleUpperCase(); // "SPEAK UP, I CAN"T HEAR YOU" var stringThree = stringOne.toUpperCase(); // "SPEAK UP, I CAN"T HEAR YOU"

Другие 2 переводят строку в нижний регистр:

Var stringOne = "YOU DON"T HAVE TO YELL"; var stringTwo = stringOne.toLocaleLowerCase(); // "you don"t have to yell" var stringThree = stringOne.toLowerCase(); // "you don"t have to yell"

Лучше использовать «locale» методы, т.к. в разных местах, например, в Турции отображение регистров работает не совсем так, как мы привыкли и поэтому результат может быть тот, который мы хотели. Если использовать «locale» методы, то таких проблем не будет.

Pattern Matching

Соответствие по шаблону в строке может быть использовано с помощью 2-х методов, которые работают по-разному.

Метод match() применяется к строке и он принимает в качестве параметра регулярное выражение:

Var myString = "How much wood could a wood chuck chuck"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "How much wood could a wood chuck chuck"

Метод exec() применяется к объекту регулярного выражения и принимает в качестве параметра строку:

Var myString = "How much wood could a wood chuck chuck"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "How much wood could a wood chuck chuck"

В обоих методах возвращается лишь первое совпадение. Если совпадений не было — возвращается null.

Так же можно использовать метод search() , который принимает регулярное выражение и возвращает позицию первого совпадения по шаблону:

Var myString = "Assume"; var patternLocation = myString.search(/ume/); // 3

Если совпадений не было — возращается «-1 «.

Сравнение двух строк для сортировки

Вы можете сравнить 2 строки, чтобы определить, какая их них идет первая по алфавиту. Для этого воспользуемся методом localeCompare() , который возвращает 3 возможных значения:

Var myString = "chicken"; var myStringTwo = "egg"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome returns -2) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome returns 2)

Как было показано выше, отрицательное число возвращается, если строковый аргумент идет после исходной строки. Положительное число, если строковый аргумент идет раньше исходной строки. Если вернулся 0 — значит строки равны.

Для проверки возвращаемого значения лучше использовать if (result < 0), чем if (result === -1). Последнее не будет работать в Chrome.

Спасибо за внимание, надеюсь, что вы узнали много нового и интересного!

Автор статьи: Alex. Категория:
Дата публикации: 19.03.2013

Существует несколько способов выбора подстрок в JavaScript, включая substring() , substr() , slice() и функции regexp .

В JavaScript 1.0 и 1.1, substring() существует как единственный простой способ выбора части большей строки. Например, чтобы выбрать строку press из Expression , используйте "Expression".substring(2,7) . Первый параметр для функции - символьный индекс, в котором начинается выбор, в то время как второй параметр - символьный индекс, в котором заканчивается выбор (не включающий): substring(2,7) включает индексы 2, 3, 4, 5, и 6.

В JavaScript 1.2, функции substr() , slice() и regexp могут также использоваться для разбиения строк.

Substr() ведет себя таким же образом, что и substr языка Перл, где первый параметр обозначает символьный индекс, в котором начинается выбор, в то время как второй параметр указывает длину подстроки. Чтобы выполнить ту же самую задачу, как в предыдущем примере, нужно использовать "Expression".substr(2,5) . Помните, 2 - это точка начала, а 5 - длина возникающей в результате подстроки.

При использовании на строках, slice() ведет себя аналогично функции substring() . Это, однако, гораздо более мощное средство, способное функционировать с любым типом массива, и не только со строками. slice() также использует отрицательные смещения для обращения к нужной позиции, начиная с конца строки. "Expression".slice(2,-3) возвратит подстроку, найденную между вторым символом и третьим символом с конца, возвращая опять press.

Последний и наиболее универсальный метод для работы с подстроками - это работа через регулярные функции выражения в JavaScript 1.2. Еще раз, обращая внимание на тот же пример, подстрока "press" получается из строки "Expression" :

Write("Expression".match(/press/));

Встроенный объект String

Объект String — это объектная реализация примитивного строкового значения. Его конструктор имеет вид:

New String(значение ?)

Здесь значение — любое строковое выражение, задающее примитивное значение объекта. Если оно не указано, то примитивное значение объекта равно "" .

Свойства объекта String:

constructor Конструктор, который создал объект. Количество символов в строке. prototype Ссылка на прототип класса объектов.

Стандартные методы объекта String

Возвращает символ, находящийся в данной позиции строки. Возвращает код символа, находящегося в данной позиции строки. Возвращает конкатенацию строк. Создает строку из символов, заданных кодами Unicode. Возвращает позицию первого вхождения заданной подстроки. Возвращает позицию последнего вхождения заданной подстроки. Сравнивает две строки с учетом языка операционной системы. Сопоставляет строку с регулярным выражением. Сопоставляет строку с регулярным выражением и заменяет найденную подстроку новой подстрокой. Ищет сопоставление строки с регулярным выражением. Извлекает часть строки и возвращает новую строку. Разбивает строку на массив подстрок. Возвращает подстроку, заданную позицией и длиной. Возвращает подстроку, заданную начальной и конечной позициями. Преобразует все буквы строки в строчные с учетом языка операционной системы. Преобразует все буквы строки в прописные с учетом языка операционной системы. Преобразует все буквы строки в строчные. Преобразует объект в строку. Преобразует все буквы строки в прописные. Возвращает примитивное значение объекта.

Нестандартные методы объекта String

Создает закладку HTML (…). Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Создает гиперссылку HTML (…). Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги …. Заключает строку в теги ….

Свойство length

Синтаксис : объект .length Атрибуты : { DontEnum, DontDelete, ReadOnly }

Значением свойства length является количество символов в строке. Для пустой строки это значение равно нулю.

Метод anchor

Синтаксис : объект .anchor(имя ) Аргументы : имя Результат : строковое значение

Метод anchor объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для создания в HTML-документе закладки с заданным именем . Например, оператор document.write("Мой текст".anchor("Закладка")) эквивалентен оператору document.write("Мой текст") .

Метод big

Синтаксис : объект .big() Результат : строковое значение

Метод big возвращает строку, состоящую из объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста крупным шрифтом. Например, оператор document.write("Мой текст".big()) выведет на экран обозревателя строку Мой текст.

Метод blink

Синтаксис : объект .blink() Результат : строковое значение

Метод blink возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста мигающим шрифтом. Указанные теги не входят в стандарт HTML и поддерживаются только обозревателями Netscape и WebTV. Например, оператор document.write("Мой текст".blink()) выведет на экран обозревателя строку Мой текст.

Метод bold

Синтаксис : объект .bold() Результат : строковое значение

Метод bold возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста полужирным шрифтом. Например, оператор document.write("Мой текст".bold()) выведет на экран обозревателя строку Мой текст .

Метод charAt

Синтаксис : объект .charAt(позиция ) Аргументы : позиция — любое числовое выражение Результат : строковое значение

Метод charAt возвращает строку, состоящую из символа, расположенного в данной позиции примитивного значения строкового объекта . Позиции символов строки нумеруются от нуля до объект . -1. Если позиция лежит вне этого диапазона, то возвращается пустая строка. Например, оператор document.write("Строка".charAt(0)) выведет на экран обозревателя символ С.

Метод charCodeAt

Синтаксис : объект .charCodeAt(позиция ) Аргументы : позиция — любое числовое выражение Результат : числовое значение

Метод charAt возвращает число, равную коду Unicode символа, расположенного в данной позиции примитивного значения строкового объекта . Позиции символов строки нумеруются от нуля до объект . -1. Если позиция лежит вне этого диапазона, то возвращается NaN . Например, оператор document.write("Строка".charCodeAt(0).toString(16)) выведет на экран обозревателя шестнадцатеричный код русской буквы "С": 421 .

Метод concat

Синтаксис : объект .concat(строка0 , строка1 , …, строкаN ) Аргументы : строка0 , строка1 , …, строкаN — любые строковые выражения Результат : строковое значение

Метод concat возвращает новую строку, являющуюся конкатенацией исходной строки и аргументов метода. Этот метод эквивалентен операции

объект + строка0 + строка1 + … + строкаN

Например, оператор document.write("Мороз и солнце. ".concat("День чудесный.")) выведет на экран обозревателя строку Мороз и солнце. День чудесный.

Метод fixed

Синтаксис : объект .fixed() Результат : строковое значение

Метод fixed возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста телетайпным шрифтом. Например, оператор document.write("Мой текст".fixed()) выведет на экран обозревателя строку Мой текст.

Метод fontcolor

Синтаксис : объект .fontcolor(цвет) Аргументы : цвет — строковое выражение Результат : строковое значение

Метод fontcolor возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги цвет >… . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста заданным цветом. Например, оператор document.write("Мой текст".fontcolor("red")) выведет на экран обозревателя строку Мой текст .

Метод fontsize

Синтаксис : объект .fontsize(размер ) Аргументы : размер — числовое выражение Результат : строковое значение

Метод fontsize возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста шрифтом заданного размера. Например, оператор document.write("Мой текст".fontsize(5)) выведет на экран обозревателя строку Мой текст .

Метод fromCharCode

Синтаксис : String.fromCharCode(код1 , код2 , …, кодN ) Аргументы : код1 , код2 , …, кодN — числовые выражения Результат : строковое значение

Метод fromCharCode создает новую строку (но не строковый объект), которая является конкатенацией символов Unicode с кодами код1 , код2 , …, кодN .

Это статический метод объекта String , поэтому для доступа к нему не нужно специально создавать строковый объект. Пример:

Var s = String.fromCharCode(65, 66, 67); // s равно "ABC"

Метод indexOf

Синтаксис : объект .indexOf(подстрока [,начало ]?) Аргументы : подстрока — любое строковое выражение начало — любое числовое выражение Результат : числовое значение

Метод indexOf возвращает первую позицию подстроки в примитивном значении строкового объекта . объект начало начало начало начало больше, чем объект объект

Поиск ведется слева направо. В остальном этом метод идентичен методу . Следующий пример подсчитывает количество вхождений подстроки pattern в строку str .

Function occur(str, pattern) { var pos = str.indexOf(pattern); for (var count = 0; pos != -1; count++) pos = str.indexOf(pattern, pos + pattern.length); return count; }

Метод italics

Синтаксис : объект .italics() Результат : строковое значение

Метод italics возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста курсивным шрифтом. Например, оператор document.write("Мой текст".italics()) выведет на экран обозревателя строку Мой текст .

Метод lastIndexOf

Синтаксис : объект .lastIndexOf(подстрока [,начало ]?) Аргументы : подстрока — любое строковое выражение начало — любое числовое выражение Результат : числовое значение

Метод lastIndexOf возвращает последнюю позицию подстроки в примитивном значении строкового объекта объект . -1. Если задан необязательный аргумент начало , то поиск ведется, начиная с позиции начало ; если нет, то с позиции 0, т. е. с первого символа строки. Если начало отрицательно, то оно принимается равным нулю; если начало больше, чем объект . -1, то оно принимается равным объект . -1. Если объект не содержит данной подстроки, то возвращается значение -1.

Поиск ведется справа налево. В остальном этом метод идентичен методу . Пример:

Var n = "Белый кит".lastIndexOf("кит"); // n равно 6

Метод link

Синтаксис : объект .link(uri ) Аргументы : uri — любое строковое выражение Результат : строковое значение

Метод link возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги uri ">… . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для создания в HTML-документе гиперссылки с заданным uri . Например, оператор document.write("Мой текст".link("#Закладка")) эквивалентен оператору document.write("Мой текст") .

Метод localeCompare

Синтаксис : объект .localeCompare(строка1 ) Аргументы : строка1 — любое строковое выражение Результат : число

Поддержка

Метод localeCompare сравнивает две строки с учетом национальных установок операционной системы. Он возвращает -1, если примитивное значение объекта меньше строки1 , +1, если оно больше строки1 , и 0, если эти значения совпадают.

Метод match

Синтаксис : объект .match(регвыр ) Аргументы : регвыр Результат : массив строк

Метод match регвыр объекта . Результатом сопоставления является массив найденных подстрок или null , если соответствий нет. При этом:

  • Если регвыр не содержит опцию глобального поиска, то выполняется метод регвыр .exec (объект ) и возвращается его результат. Результирующий массив содержит в элементе с индексом 0 найденную подстроку, а в остальных элементах — подстроки, соответствующие подвыражениям регвыр , заключенным в круглые скобки.
  • Если регвыр содержит опцию глобального поиска, то метод регвыр .exec (объект ) выполняется до тех пор, пока находятся соответствия. Если n — количество найденных соответствий, то результатом является массив из n элементов, которые содержат найденные подстроки. Свойству регвыр .lastIndex присваивается номер позиции в исходной строке, указывающий на первый символ после последнего найденного соответствия, или 0, если соответствий не найдено.

Следует помнить, что метод регвыр .exec изменяет свойства объекта регвыр . Примеры:

Метод replace

Синтаксис : объект .replace(регвыр ,строка ) объект .replace(регвыр ,функция ) Аргументы : регвыр — регулярное выражение строка — строковое выражение функция — имя функции или декларация функции Результат : новая строка

Метод replace сопоставляет регулярное выражение регвыр с примитивным значением строкового объекта и заменяет найденные подстроки другими подстроками. Результатом является новая строка, которая является копией исходной строки с проведенными заменами. Способ замены определяется опцией глобального поиска в регвыр и типом второго аргумента.

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

строка , то замена каждой найденной подстроки производится на нее. При этом строка может содержать такие свойства объекта RegExp , как $1 , …, $9 , lastMatch , lastParen , leftContext и rightContext . Например, оператор document.write("Вкусные яблоки, сочные яблоки.".replace(/яблоки/g, "груши")) выведет на экран обозревателя строку Вкусные груши, сочные груши.

Если вторым аргументом является функция , то замена каждой найденной подстроки производится вызовом этой функции. Функция имеет следующие аргументы. Первый аргумент — это найденная подстрока, затем следуют аргументы, соответствующие всем подвыражениям регвыр , заключенным в круглые скобки, предпоследний аргумент — это позиция найденной подстроки в исходной строке, считая с нуля, и последний аргумент— это сама исходная строка. Следующий пример показывает, как с помощью метода replace можно написать функцию преобразования градусов Фаренгейта в градусы Цельсия. Приведенный сценарий

Function myfunc($0,$1) { return (($1-32) * 5 / 9) + "C"; } function f2c(x) { var s = String(x); return s.replace(/(\d+(\.\d*)?)F\b/, myfunc); } document.write(f2c("212F"));

выведет на экран обозревателя строку 100C .

Следует помнить, что этот метод изменяет свойства объекта регвыр .

Пример использования replace

Замена всех вхождений подстроки в строку

Часто случается, что нужно заменить все вхождения одной строки в другую строку:

Var str = "foobarfoobar"; str=str.replace(/foo/g,"xxx"); // в итоге получиться str = "xxxbarxxxbar";

Метод search

Синтаксис : объект .search(регвыр ) Аргументы : регвыр — любое регулярное выражение Результат : числовое выражение

Метод search сопоставляет регулярное выражение регвыр с примитивным значением строкового объекта . Результатом сопоставления является позиция первой найденной подстроки, считая с нуля, или -1, если соответствий нет. При этом опция глобального поиска в регвыр игнорируется, и свойства регвыр не изменяются. Примеры:

Метод slice

Синтаксис : объект .slice(начало [,конец ]?) Аргументы : начало и конец — любые числовые выражения Результат : новая строка

Метод slice объекта , от позиции начало до позиции конец , не включая ее. Если конец начало и до конца исходной строки.

Позиции символов строки нумеруются от нуля до объект . -1. Если значение начало объект . +начало . Если значение конец отрицательно, то оно заменяется на объект . +конец . Иными словами, отрицательные аргументы трактуются как смещения от конца строки.

Результатом является строковое значение, а не строковый объект. Например, оператор document.write("ABCDEF".slice(2,-1)) выведет на экран обозревателя строку CDE .

Метод small

Синтаксис : объект .small() Результат : строковое значение

Метод small возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста мелким шрифтом. Например, оператор document.write("Мой текст".small()) выведет на экран обозревателя строку Мой текст.

Метод split

Синтаксис : объект .split(разделитель [,число ]?) Аргументы : разделитель — строковое или регулярное выражение число — числовое выражение Результат : массив строк (объект Array )

Метод split разбивает примитивное значение объекта на массив подстрок и возвращает его. Разбиение на подстроки производится следующим образом. Исходная строка просматривается слева направо в поисках разделителя . Как только он найден, подстрока от конца предыдущего разделителя (или от начала строки, если это первое вхождение разделителя) до начала найденного добавляется в массив подстрок. Таким образом, сам разделитель в текст подстроки не попадает.

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

Разделитель может быть задан либо строкой, либо регулярным выражением. Существует несколько случаев, требующих особого рассмотрения:

В следующем примере регулярное выражение используется для задания тегов HTML в качестве разделителя. Оператор

выведет на экран обозревателя строку Текст,полужирный, и,курсивный.

Метод strike

Синтаксис : объект .strike() Результат : строковое значение

Метод strike возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста перечеркнутым шрифтом. Например, оператор document.write("Мой текст".strike()) выведет на экран обозревателя строку Мой текст.

Метод sub

Синтаксис : объект .sub() Результат : строковое значение

Метод sub возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста как нижнего индекса. Например, оператор document.write("Мой текст".sub()) выведет на экран обозревателя строку Мой текст.

Метод substr

Синтаксис : объект .substr(позиция [,длина ]?) Аргументы : позиция и длина — числовые выражения Результат : строковое значение

Метод substr возвращает подстроку примитивного значения строкового объекта , начинающуюся с данной позиции и содержащую длина символов. Если длина не задана, то возвращается подстрока, начиная с данной позиции и до конца исходной строки. Если длина отрицательна или равна нулю, то возвращается пустая строка.

Позиции символов строки нумеруются от нуля до объект . -1. Если позиция больше или равна объект ., то возвращается пустая строка. Если позиция отрицательна, то она трактуется как смещение от конца строки, т. е. заменяется на объект .+позиция .

Примечание . Если позиция отрицательна, то Internet Explorer ошибочно заменяет ее на 0, поэтому в целях совместимости этот вариант использовать не следует.

Var src = "abcdef"; var s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // "f", но в MSIE: "abcdef"

Метод substring

Синтаксис : объект .substring(начало [,конец ]) Аргументы : начало и конец — числовые выражения Результат : строковое значение

Метод substring возвращает подстроку примитивного значения строкового объекта , от позиции начало до позиции конец , не включая ее. Если конец не задан, то возвращается подстрока, начиная с позиции начало и до конца исходной строки.

Позиции символов строки нумеруются от нуля до объект . -1. Отрицательные аргументы или равные NaN заменяются на нуль; если аргумент больше длины исходной строки, то он заменяется на нее. Если начало больше конца , то они меняются местами. Если начало равно концу , то возвращается пустая строка.

Результатом является строковое значение, а не строковый объект. Примеры:

Var src = "abcdef"; var s1 = src.substring(1, 3); // "bc" var s2 = src.substring(1, -1); // "a" var s3 = src.substring(-1, 1); // "a"

Метод sup

Синтаксис : объект .sup() Результат : строковое значение

Метод sup возвращает строку, состоящую из примитивного значения строкового объекта , заключенного в теги … . Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для отображения текста как верхнего индекса. Например, оператор document.write("Мой текст".sup()) выведет на экран обозревателя строку Мой текст.

Метод toLocaleLowerCase

Синтаксис : объект .toLocaleLowerCase() Результат : новая строка

Поддержка : Internet Explorer Поддерживается с версии 5.5. Netscape Navigator Не поддерживается.

Метод toLocaleLowerCase возвращает новую строку, в которой все буквы исходной строки заменены на строчные с учетом национальных установок операционной системы. Остальные символы исходной строки не изменяются. Исходная строка остается прежней. Обычно этот метод возвращает тот же результат, что и ; отличие возможно только в том случае, если кодировка языка противоречит правилам Unicode по преобразованию прописных букв в строчные.

Метод toLocaleUpperCase

Синтаксис : объект .toLocaleUpperCase() Результат : новая строка

Поддержка : Internet Explorer Поддерживается с версии 5.5. Netscape Navigator Не поддерживается.

Метод toLocaleUpperCase возвращает новую строку, в которой все буквы исходной строки заменены на прописные с учетом национальных установок операционной системы. Остальные символы исходной строки не изменяются. Исходная строка остается прежней. Обычно этот метод возвращает тот же результат, что и ; отличие возможно только в том случае, если кодировка языка противоречит правилам Unicode по преобразованию строчных букв в прописные.

Метод toLowerCase

Синтаксис : объект .toLowerCase() Результат : новая строка

Метод toLowerCase возвращает новую строку, в которой все буквы исходной строки заменены на строчные. Остальные символы исходной строки не изменяются. Исходная строка остается прежней. Например, оператор document.write("объект String".toLowerCase()) выведет на экран обозревателя строку объект string .

Метод includes () определяет, может ли одна строка быть найдена в другой строке, возвращая true или false, если это необходимо.

Синтаксис: -string.includes (searchString [, position])

searchString: - Строка, которую нужно искать внутри этой строки.

положение: -Дополнительный. Позиция в этой строке, в которой следует искать searchString; по умолчанию 0.

string = "LOL"; console.log(string.includes("lol")); // returns false console.log(string.includes("LOL")); // returns true

У меня есть корзина для покупок, которая отображает параметры продукта в выпадающем меню, и если они выбирают «да», я хочу сделать некоторые другие поля на странице видимыми.

Проблема в том, что в корзину покупок также включен модификатор цены в тексте, который может отличаться для каждого продукта. Следующий код работает:

$(document).ready(function() { $("select").change(function() { var str = $("select option:selected").text(); if (str == "Yes (+ $6.95)") { $(".engraving").show(); } else { $(".engraving").hide(); } }); });

Однако я бы предпочел использовать что-то вроде этого, что не работает:

$(document).ready(function() { $("select").change(function() { var str = $("select option:selected").text(); if (str *= "Yes") { $(".engraving").show(); } else { $(".engraving").hide(); } }); });

Я только хочу выполнить действие, если выбранная опция содержит слово «Да» и игнорирует модификатор цены.

Публикации по теме