JavaScript

length

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

Свойство из

String

Только для чтения

Реализовано в

JavaScript 1.0, NES 2.0

Версия ECMA

ECMA-262

Описание

Для null-строки длина будет равна 0.

Пример

Будет выведена цифра 8 в диалоговом окне Alert: var x="Netscape" alert("The string length is " + x.length)

match

Используется для поиска совпадений регулярного выражения со строкой.

Метод из

String

Реализован в

JavaScript 1.2

Синтаксис match(regexp)

Параметр

regexp

Имя регулярного выражения. Это может быть имя переменной или литерал.

Описание

Если Вам нужно выполнить глобальный поиск совпадения или поиск с учётом регистра, включите в регулярное выражение флаги g (для глобального поиска) и i (для игнорирования регистра). Эти флаги могут использоваться вместе или по отдельности. Следующие два пример показывают, как использовать эти флаги вместе с match.

Пример. Здесь match используется для поиска подстроки 'Chapter' с последующим одним или более цифровыми символами, с последующей десятичной точкой и цифровыми символами 0 или более раз. Регулярно выражение включает флаг i, поэтому регистр символов игнорируется. <SCRIPT> str = "For more information, see Chapter 3.4.5.1"; re = /(chapter \d+(\.\d)*)/i; found = str.match(re); document.write(found); </SCRIPT>

Возвращает массив, содержащий Chapter 3.4.5.1,Chapter 3.4.5.1,.1

'Chapter 3.4.5.1' это первое совпадение и первое значение, запомненное из (Chapter \d+(\.\d)*).

'.1' это второе значение, запомненное из (\.\d).

replace

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

Метод из

String

Реализован в

JavaScript 1.2

JavaScript 1.3: поддерживается вложение функций на месте второго аргумента.

Синтаксис replace(regexp, newSubStr) replace(regexp, function)

Версии до JavaScript 1.3: replace(regexp, newSubStr)

Параметры

regexp

Имя регулярного выражения. Это может быть имя переменной или литерал.

newSubStr

Строка, помещаемая вместо строки, найденной с помощью regexp. Эта подстрока может содержать свойства объекта RegExp: $1, ., $9, lastMatch, lastParen, leftContext и rightContext.

function

Функция, выполняемая после выполнения поиска совпадения.

Описание

Этот метод не изменяет String-объект, которым он вызывается; он просто возвращает новую строку.

Если Вы хотите выполнить глобальный поиск и замену или поиск без учёта регистра, включите флаги g (для глобального поиска) и i (игнорирование регистра) в регулярное выражение. Они могут быть включены вместе и отдельно. Следующие два примера показывают использование этих флагов вместе с replace.

Специфицирование функции в качестве параметра. Если Вы специфицируете функцию в качестве второго параметра, она вызывается после выполнения поиска совпадения. (Такое использование функции часто называется "лямбда-выражение".)

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

Вложенная функция может использовать совпавшие подстроки для определения новой строки (newSubStr), которая замещает найденную подстроку. Вы получаете совпавшие подстроки через параметры Вашей функции. Первый параметр Вашей функции содержит полностью совпавшую подстроку. Другие параметры могут использоваться для совпадений в скобках, для запоминания подсовпадений строк. Например, следующий метод replaceвозвращает XX.zzzz - XX , zzzz. "XXzzzz".replace(/(X*)(z*)/, function (str, p1, p2) { return str + " - " + p1 + " , " + p2; } )

Массив, возвращённый из метода exec RegExp-объекта и последующего совпадения доступен для Вашей функции. Вы можете использовать содержимое массива плюс свойства input и index (индекс совпадения в строке ввода) этого массива для выполнения дополнительных задач, перед тем как метод заменит подстроку.

Примеры

Пример 1. Здесь регулярное выражение содержит флаги global и ignore case с разрешением методу replace замещать каждое вхождение 'apples' на 'oranges'. <SCRIPT> re = /apples/gi; str = "Apples are round, and apples are juicy."; newstr=str.replace(re, "oranges"); document.write(newstr) </SCRIPT>

Будет напечатано "oranges are round, and oranges are juicy."

Пример 2. Здесь градусы по Фаренгейту замещаются эквивалентом по Цельсию. Градусы по Фаренгейту должны быть числом с конечной F. Функция возвращает число по Цельсию с конечной С. Например, если введено 212F, функция возвращает 100C. Если введено 0F, функция возвращает -17.77777777777778C.

Регулярное выражение test проверяет числа с конечной буквой F. Число по Фаренгейту доступно для Вашей функции через параметр $1. Функция устанавливает число по Цельсию на основе значения по Фаренгейту, передаваемого в строке функции f2c. Затем f2c возвращает число по Цельсию. Эта функция напоминает флаг s///e из Perl. function f2c(x) { var s = String(x) var test = /(\d+(\.\d*)?)F\b/g return s.replace (test, myfunction ($0,$1,$2) { return (($1-32) * 5/9) + "C"; } ) }

search

Выполняет поиск совпадения между регулярным выражением и данным String-объектом.

Метод из

String

Реализован в

JavaScript 1.2

Синтаксис search(regexp)

Параметр

regexp

Имя регулярного выражения. Это может быть имя переменной или литерал.


Страница: