new String(String)
Параметры
Описание
Объект String это оболочка вокруг данных примитивного типа String. Не
путайте string-литерал с объектом String. Например, следующий код создаёт string-литерал
s1 и String-объект s2:
s1 = "foo" // создаёт значение строкового литерала
s2 = new String("foo") // создаёт String-объект
Вы можете вызывать любой из методов String-объекта в
строковом литеральном значении — JavaScript автоматически конвертирует
строковой литерал во временный String-объект, вызывает метод, затем
уничтожает временный String-объект. Вы можете также использовать свойство String.length
со string-литералом.
Вы должны использовать string-литералы, если только
Вам не нужно использовать именно String-объект, так как String-объекты могут
иметь поведение, не предсказуемое интуитивно. Например:
s1 = "2 + 2" // создаёт значение строкового литерала
s2 = new String("2 + 2") // создаёт String-объект
eval(s1) // возвращает число 4
eval(s2) // возвращает строку "2 + 2"
Строка может быть представлена как литерал,
заключённый в одинарные или двойные кавычки; например, "Netscape" или `Netscape'.
Вы можете конвертировать свойство любого объекта в
строку, используя функцию String верхнего уровня.
Свойства.
Резюме.
|
Свойство |
Описание |
|---|
constructor
| Специфицирует функцию, создающую прототип объекта. |
length |
Размер строки. |
prototype |
Позволяет добавлять свойства String-объекту. |
Методы.
Резюме.
|
Метод |
Описание |
anchor |
Создаёт "якорь" HTML, который используется в качестве цели гипертекстовой ссылки. |
big |
Отображает строку шрифтом большего размера, как при использовании тэга BIG. |
blink |
Строка мигает, как при использовании тэга BLINK. |
bold |
Строка выводится жирным шрифтом, как при использовании тэга B. |
charAt |
Возвращает символ, находящийся в строке по специфицированному индексу. |
charCodeAt |
Возвращает число, обозначающее Unicode-значение символа по данному индексу. |
concat |
Объединяет текст двух строк и возвращает новую строку. |
fixed |
Строка выводится моноширинным шрифтом, как при использовании тэга TT. |
fontcolor |
Строка выводится в специфицированном цвете, как при использовании тэга <FONT COLOR=color>. |
fontsize |
Строка выводится шрифтом специфицированного размера, как при использовании
тэга <FONT SIZE=size>. |
fromCharCode |
Возвращает строку, созданную путём использования специфицированной
последовательности Unicode-значений. Это метод класса String, а не String-экземпляра. |
indexOf |
Возвращает индекс, внутри вызывающего String-объекта, первого появления
специфицированного значения, или -1 если оно не найдено. |
italics |
Строка выводится шрифтом italic, как при использовании тэга <I>. |
lastIndexOf |
Возвращает индекс, внутри вызывающего String-объекта, последнего появления
специфицированного значения, или -1 если оно не найдено. |
link |
Создаёт гипертекстовую ссылку HTML. |
match |
Используется для поиска совпадений регулярного выражения относительно строки. |
replace |
Используется для поиска совпадений регулярного выражения относительно строки и
для замены совпавшей подстроки новой подстрокой. |
search |
Выполняет поиск совпадений регулярного выражения относительно
специфицированной строки. |
slice |
Извлекает раздел строки и возвращает новую строку. |
small |
Строка выводится шрифтом уменьшенного размера, как при использовании тэга SMALL. |
split |
Разделяет String-объект на массив строк путём разделения строки на подстроки. |
strike |
Строка выводится как перечёркнутый текст, как при использовании тэга STRIKE. |
sub |
Строка выводится как подиндекс, как при использовании тэга SUB. |
substr |
Возвращает специфицированное количество символов строки, начиная со специфицированного места. |
subString |
Возвращает символы строки, находящиеся между специфицированными индексами. |
sup |
Строка выводится как надиндекс, как при использовании тэга SUP. |
toLowerCase |
Возвращает вызывающее строковое значение, с символами, конвертированными в нижний регистр. |
toSource |
Возвращает литерал объекта, представляющий специфицированный объект; Вы можете использовать это значение
для создания нового объекта. Переопределяет метод Object.toSource. |
toString |
Возвращает строку, представляющую специфицированный объект. Переопределяет метод
Object.toString. |
toUpperCase |
Возвращает вызывающее строковое значение, с символами, конвертированными в верхний регистр. |
valueOf |
Возвращает примитивное значение специфицированного объекта. Переопределяет метод
Object.valueOf. |
Кроме того, этот метод наследует методы watch
и unwatch из Object.
Примеры
Пример 1: Строковой литерал.
Следующий оператор создаёт string-литерал:
var last_name = "Schaefer"
Пример 2: Свойства строкового литерала.
Следующие операторы вычисляются до 8, "SCHAEFER" и "schaefer":
last_name.length
last_name.toUpperCase()
last_name.toLowerCase()
Пример 3: Доступ к отдельным символам строки.
Можно представить строку как массив символов. Тогда можно получить доступ к
отдельным символам строки по индексу этого массива. Например, следующий код
выводит "The first character in the String is H":
var myString = "Hello"
myString[0] // returns "H"
Пример 4: Передача строки между скриптами, находящимися в разных окнах или фрэймах.
Следующий код создаёт две строковые переменные и открывает второе окно:
var lastName = "Schaefer"
var firstName = "Jesse"
empWindow=window.open('String2.html','window1','width=300,height=300')
Если HTML-источник для второго окна (String2.html)
создаёт две строковые переменные, empLastName и empFirstName, то следующий код в
первом окне присваивает значения переменным второго окна:
empWindow.empFirstName=firstName
empWindow.empLastName=lastName
Следующий код первого окна выводит значения переменных второго окна:
alert('empFirstName in empWindow is ' + empWindow.empFirstName)
alert('empLastName in empWindow is ' + empWindow.empLastName)
anchor
Создаёт HTML-якорь, используемый как цель для
гиперссылки.
Метод из |
String
|
Реализован в |
JavaScript 1.0, NES 2.0 |
Синтаксис
anchor(nameAttribute)
Параметры
Описание
Используйте метод anchor с методами document.write или document.writeln
для программного создания и отображения якоря в документе. Создаёт якорь методом anchor,
а затем вызывает write или writeln для отображения якоря в документе. В
серверном JavaScript используйте функцию write для отображения якоря.
В этом синтаксисе текстовая строка представляет
литеральный текст, который должен видеть конечный пользователь. Строка nameAttribute
представляет атрибут NAME тэга A.
Якоря, созданные методом anchor, становятся элементами
массива document.anchors.
Примеры
В этом примере открывается окно msgWindow и создаётся якорь для для оглавления:
var myString="Table of Contents"
msgWindow.document.writeln(myString.anchor("contents_anchor"))
Это пример создаёт такой же вывод, как и следующий HTML:
<A NAME="contents_anchor">Table of Contents</A>
См. также
String.link.
big
Выводит строку шрифтом большего размера, как при
использовании тэга BIG.
Метод из |
String |
Реализован в |
JavaScript 1.0, NES 2.0 |
Синтаксис
big()
Параметры
Отсутствуют.
Описание
Используйте метод big с методами write или writeln для форматирования и
отображения строки документа. В серверном JavaScript используйте функцию write для отображения строки.
Примеры
В этом примере используются методы для изменения размера строки:
var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))
Этот пример даёт такой же вывод, как и нижеследующий HTML:
<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>
См. также
String.fontsize,
String.small.
blink
Создаёт мигающую строку, как при использовании тэга BLINK.
|
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Синтаксис
blink()
Параметры
Отсутствуют.
Описание
Используйте метод blink с методами write или writeln для форматирования и
отображения строки документа. В серверном JavaScript используйте функцию write
для отображения строки.
Примеры
В этом примере используются методы для изменения форматирования строки:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
Этот пример даёт такой же вывод, как и нижеследующий HTML:
<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>
См. также
String.bold,
String.italics, String.strike.
bold
Отображает строку жирным шрифтом, как при
использовании тэга B.
|
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Синтаксис
bold()
Параметры
Отсутствуют.
Описание
Используйте bold с методами write или writeln для форматирования и
отображения строки документа. В серверном JavaScript используйте функцию write для отображения строки.
Примеры
В этом примере используются методы для изменения форматирования строки:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
Этот пример даёт такой же вывод, как и нижеследующий HTML:
<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>
См. также
String.blink,
String.italics, String.strike.
charAt
Возвращает специфицированные символы из строки.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Версия ECMA |
ECMA-262 |
Синтаксис
charAt(index)
Параметры
index |
Целое, начиная от 0, и меньше размера строки на 1. |
Описание
Символы строки индексируются слева направо. Индекс первого символа равен 0,
индекс последнего символа строки с названием StringName равен StringName.length - 1.
если предоставляемый Вами индекс выходит за рамки этого диапазона, JavaScript возвращает пустую строку.
Примеры
Следующий пример отображает символы из различных точек строки "Brave new world":
var anyString="Brave new world"
document.writeln("The character at index 0 is " + anyString.charAt(0))
document.writeln("The character at index 1 is " + anyString.charAt(1))
document.writeln("The character at index 2 is " + anyString.charAt(2))
document.writeln("The character at index 3 is " + anyString.charAt(3))
document.writeln("The character at index 4 is " + anyString.charAt(4))
Отображение будет таким:
The character at index 0 is B
The character at index 1 is r
The character at index 2 is a
The character at index 3 is v
The character at index 4 is e
См. также
String.indexOf,
String.lastIndexOf,
String.split.
charCodeAt
Возвращает число, обозначающее Unicode-значение
символа, находящегося в строке по данному индексу.
Метод из |
String |
Реализован в |
JavaScript 1.2, NES 3.0
JavaScript 1.3: возвращает Unicode-значение вместо значения ISO-Latin-1. |
Версия ECMA |
ECMA-262 |
Синтаксис
charCodeAt([index])
Параметры
index |
Целое, начиная от 0, и меньше размера строки на 1. Значение по умолчанию 0. |
Описание
Значения Unicode находятся в диапазоне от 0 до 65,535. Первые 128 значений Unicode
напрямую совпадают с набором ASCII-символов. Информацию о Unicode см. в книге
"Ядро JavaScript.
Руководство по Использованию".
Обратная Совместимость
JavaScript 1.2.
Метод charCodeAt возвращает число, обозначающее значение из кодового набора ISO-Latin-1
для символа, находящегося по данному индексу. Набор ISO-Latin-1 имеет диапазон
от 0 to 255. Символы от 0 до 127 напрямую совпадают с набором ASCII-символов.
Пример
Этот пример возвращает 65, значение Unicode для A.
"ABC".charCodeAt(0) // возвращает 65
concat
Объединяет текст двух или более строк и возвращает новую строку.
Метод из |
String |
Реализован в |
JavaScript 1.2, NES 3.0 |
Синтаксис
concat(String2, String3[, ..., StringN])
Параметры
String2...
StringN | Строки, объединяемые в данную строку. |
Описание
concat объединяет текст двух или более строк и возвращает новую строку.
Изменения в тексте одной строки не влияют на другие строки.
Пример
В этом примере две строки объединяются в новую строку.
s1="Oh "
s2="what a beautiful "
s3="mornin'."
s4=s1.concat(s2,s3) // возвращает "Oh what a beautiful mornin'."
constructor
Специфицирует функция, которая создаёт прототип
объекта. Заметьте, что значением этого свойства является ссылка на функцию, а не
строка, содержащая имя функции.
Свойство из |
String |
Реализовано в | JavaScript 1.1, NES 2.0 |
Версия ECMA |
ECMA-262 |
Описание
См. Object.constructor.
fixed
Строка выводится моноширинным шрифтом, как при использовании тэга TT.
Метод из |
String |
|
Реализован в |
JavaScript 1.0, NES 2.0 |
Синтаксис
fixed()
Параметры
Отсутствуют.
Описание
Используйте метод fixed с методами write или writeln для форматирования и
отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.
Примеры
В этом примере используется метод fixed для изменения форматирования строки:
var worldString="Hello, world"
document.write(worldString.fixed())
Вывод будет таким же, как и в нижеследующем HTML:
<TT>Hello, world</TT>
fontcolor
Строка выводится специфицированным цветом, как при использовании тэга <FONT COLOR=color>.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Синтаксис
fontcolor(color)
Параметры
Описание
Используйте метод fontcolor с методами write или writeln для форматирования и
отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.
Если Вы вводите цвет как 16-ричный RGB-триплет, Вы
обязаны использовать формат rrggbb. Например, 16-ричные RGB-значения для цвета salmon: red=FA, green=80, blue=72,
соответственно, RGB-триплет цвета salmon будет "FA8072".
Метод fontcolor переопределяет значение, установленное свойством fgColor.
Примеры
В этом примере метод fontcolor используется для изменения цвета строки:
var worldString="Hello, world"
document.write(worldString.fontcolor("maroon") +
" is maroon in this line")
document.write("<P>" + worldString.fontcolor("salmon") +
" is salmon in this line")
document.write("<P>" + worldString.fontcolor("red") +
" is red in this line")
document.write("<P>" + worldString.fontcolor("8000") +
" is maroon in hexadecimal in this line")
document.write("<P>" + worldString.fontcolor("FA8072") +
" is salmon in hexadecimal in this line")
document.write("<P>" + worldString.fontcolor("FF00") +
" is red in hexadecimal in this line")
Вывод будет таким же, как и в нижеследующем HTML:
<FONT COLOR="maroon">Hello, world</FONT> is maroon in this line
<P><FONT COLOR="salmon">Hello, world</FONT> is salmon in this line
<P><FONT COLOR="red">Hello, world</FONT> is red in this line
<FONT COLOR="8000">Hello, world</FONT>
is maroon in hexadecimal in this line
<P><FONT COLOR="FA8072">Hello, world</FONT>
is salmon in hexadecimal in this line
<P><FONT COLOR="FF00">Hello, world</FONT>
is red in hexadecimal in this line
fontsize
Строка выводится шрифтом специфицированного размера, как при использовании тэга <FONT SIZE=size>.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Синтаксис
fontsize(size)
Параметры
size |
Целое число от 1 до 7; строка, представляющая целое число в диапазоне от 1 до 7. |
Описание
Используйте метод fontsize с методами write или writeln для форматирования и
отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.
Если Вы специфицируете размер как целое число, Вы
устанавливаете размер строки StringName в один из семи предопределённых размеров.
Если Вы специфицируете размер как строку, например, "-2", Вы уточняете размер
строки StringName относительно размера, установленного в тэге BASEFONT.
Примеры
В этом примере методы работы со строками используются для изменения размера строки:
var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))
Вывод будет таким же, как и в нижеследующем HTML:
<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>
См. также
String.big,
String.small.
fromCharCode
Возвращает строку, созданную путём использования
специфицированной последовательности из значений Unicode.
Метод из |
String |
|
Static |
Реализован в |
JavaScript 1.2, NES 3.0
JavaScript 1.3: используется значение Unicode, а не значение ISO-Latin-1. |
|
Версия ECMA |
ECMA-262 |
Синтаксис
fromCharCode(num1, ..., numN)
Параметры
num1, ..., numN |
Последовательность чисел - значений Unicode. |
Описание
Этот метод возвращает строку, а не String-объект.
Поскольку fromCharCode это static-метод объекта String,
Вы всегда используете его как String.fromCharCode(), а не как метод String-объекта,
созданного Вами.
Обратная Совместимость
JavaScript 1.2.
Метод fromCharCode возвращает строку, созданную путем использования
специфицированной последовательности значений из набора кодов ISO-Latin-1.
Примеры
Этот пример возвращает строку "ABC".
String.fromCharCode(65,66,67)
indexOf
Внутри вызывающего String-объекта возвращает индекс
первого появления специфицированного значения, начиная поиск с fromIndex, или с -1,
если значение не найдено.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Версия ECMA |
ECMA-262 |
Синтаксис
indexOf(searchValue[, fromIndex])
Параметры
searchValue |
Строка, представляющая значение для поиска. |
fromIndex |
Место в вызывающей строке, с которого начинается поиск. Это может быть целое
число в диапазоне от 0 и до конца строки. Значение по умолчанию 0. |
Описание
Символы в строке индексируются слева направо. Индекс первого символа 0, а
индекс последнего символа строки, называемый StringName, это StringName.length - 1.
"Blue Whale".indexOf("Blue") // возвращает 0
"Blue Whale".indexOf("Blute") // возвращает -1
"Blue Whale".indexOf("Whale",0) // возвращает 5
"Blue Whale".indexOf("Whale",5) // возвращает 5
"Blue Whale".indexOf("",9) // возвращает 9
"Blue Whale".indexOf("",10) // возвращает 10
"Blue Whale".indexOf("",11) // возвращает 10
Метод indexOf чувствителен к регистру. Например, следующее выражение возвращает -1:
"Blue Whale".indexOf("blue")
Примеры
Пример 1.
Этот пример использует indexOf и lastIndexOf для локализации значений в
строке "Brave new world."
var anyString="Brave new world"
// Отображает 8
document.write("<P>The index of the first w from the beginning is " +
anyString.indexOf("w"))
// Отображает 10
document.write("<P>The index of the first w from the end is " +
anyString.lastIndexOf("w"))
// Отображает 6
document.write("<P>The index of 'new' from the beginning is " +
anyString.indexOf("new"))
// Отображает 6
document.write("<P>The index of 'new' from the end is " +
anyString.lastIndexOf("new"))
Пример 2.
Этот пример определяет две строковые переменные. Эти переменные содержат
одинаковые строки, но во второй строке буквы введены в верхнем регистре. Первый
метод writeln выводит 19. Но, поскольку метод indexOf чувствителен к регистру,
строка "cheddar" в строке myCapString не будет найдена, поэтому второй метод writeln выводит -1.
myString="brie, pepper jack, cheddar"
myCapString="Brie, Pepper Jack, Cheddar"
document.writeln('myString.indexOf("cheddar") is ' +
myString.indexOf("cheddar"))
document.writeln('<P>myCapString.indexOf("cheddar") is ' +
myCapString.indexOf("cheddar"))
Пример 3.
Этот пример устанавливает count в число появлений буквы x в строке str:
count = 0;
pos = str.indexOf("x");
while ( pos != -1 ) {
count++;
pos = str.indexOf("x",pos+1);
}
См. также
String.charAt,
String.lastIndexOf, String.split.
italics
Выводит строку шрифтом italic, как при использовании
тэга <I>.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Синтаксис
italics()
Параметры
Отсутствуют.
Описание
Используйте метод italics с методами write или writeln для форматирования и
отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.
Примеры
В этом примере используются методы работы со строками для изменения форматирования строки:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
Вывод будет таким же, как и в нижеследующем HTML:
<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>
См. также
String.blink,
String.bold,
String.strike.
lastIndexOf
Внутри вызывающего String-объекта возвращает индекс
первого появления специфицированного значения, или с -1, если значение не
найдено. Поиск в вызывающей строке идёт в обратном направлении, начиная с fromIndex.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
|
Версия ECMA | ECMA-262 |
Синтаксис
lastIndexOf(searchValue[, fromIndex])
Параметры
searchValue | Срока - значение для поиска. |
fromIndex |
Место в вызывающей строке, с которого начинается поиск. Это может быть целое
число в диапазоне от 0 и до конца строки. Значение по умолчанию - длина строки. |
Описание
Символы в строке индексируются слева направо. Индекс первого символа 0, а
индекс последнего символа строки, называемый StringName, это StringName.length - 1.
"canal".lastIndexOf("a") // возвращает 3
"canal".lastIndexOf("a",2) // возвращает 1
"canal".lastIndexOf("a",0) // возвращает -1
"canal".lastIndexOf("x") // возвращает -1
Метод lastIndexOf чувствителен к регистру. Например,
следующее выражение вернёт -1:
"Blue Whale, Killer Whale".lastIndexOf("blue")
Примеры
Этот пример использует indexOf и lastIndexOf для
локализации значений в строке "Brave new world."
var anyString="Brave new world"
// Отображает 8
document.write("<P>The index of the first w from the beginning is " +
anyString.indexOf("w"))
// Отображает 10
document.write("<P>The index of the first w from the end is " +
anyString.lastIndexOf("w"))
// Отображает 6
document.write("<P>The index of 'new' from the beginning is " +
anyString.indexOf("new"))
// Отображает 6
document.write("<P>The index of 'new' from the end is " +
anyString.lastIndexOf("new"))
См. также
String.charAt,
String.indexOf, String.split.
length
Длина строки.
Свойство из |
String |
|
Read-only\Только для Чтения |
Реализовано в | JavaScript 1.0, NES 2.0 |
|
Версия ECMA | ECMA-262 |
Описание
Для null-строки length будет 0.
Примеры
Этот пример выводит 8 в диалоговом окне Alert:
var x="Netscape"
alert("The String length is " + x.length)
link
Создаёт гипертекстовую ссылку HTML, которая
запрашивает другой URL.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Синтаксис
link(hrefAttribute)
Параметры
hrefAttribute |
Любая строка, специфицирующая атрибут HREF тэга A; это должен быть верный URL (относительный
или абсолютный). |
Описание
Используйте метод link для создания программно гипертекстовой ссылки, затем
вызовите методы write или writeln для отображения ссылки в документе. В
серверном JavaScript используйте для отображения строки функцию write.
Ссылки, созданные методом link, становятся элементами
массива ссылок объекта document. См. document.links.
Примеры
Этот пример отображает слово "Netscape" как гипертекстовую ссылку,
переводящую пользователя на домашнюю страницу Netscape:
var hotText="Netscape"
var URL="http://home.netscape.com"
document.write("Click to return to " + hotText.link(URL))
Вывод будет таким же, как и в нижеследующем HTML:
Click to return to <A HREF="http://home.netscape.com">Netscape</A>
match
Используется для поиска совпадений регулярного
выражения относительно строки.
Метод из |
String |
Реализован в | JavaScript 1.2 |
|
Версия ECMA | ECMA-262 Edition 3 |
Синтаксис
match(regexp)
Параметры
regexp |
имя регулярного выражения. Может быть именем переменной или литералом. |
Описание
Если регулярное выражение не содержит флаг g, возвращается тот же самый
результат, который RegExp.exec мог бы возвратить для регулярного выражения
и строки. Если регулярное выражение содержит флаг g, возвращается массив всех
совпадений регулярного выражения в строке.
Примечание
Если поиск совпадения производится только для получения значения true или false,
используйте String.search или метод test регулярного выражения.
Примеры
Пример 1.
В этом примере match используется для нахождения 'Chapter' с последующими 1 или
более цифровыми символами, с последующей десятичной точкой и цифровыми символами 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).
Пример 2.
Этот пример демонстрирует использование флагов глобализации и игнорирования регистра с match.
<SCRIPT>
str = "abcDdcba";
newArray = str.match(/d/gi);
document.write(newArray);
</SCRIPT>
Возвращённый массив содержит D, d.
prototype
Представляет прототип для данного класса. Вы можете
использовать prototype для добавления свойств и методов во все экземпляры класса.
О прототипах см. Function.prototype.
Свойство из | String
|
Реализовано в |
JavaScript 1.1, NES 3.0 |
Версия ECMA |
ECMA-262 |
replace
Находит совпадение между регулярным выражением и
строкой и заменяет совпавшую подстроку новой подстрокой.
Метод из |
String |
Реализован в |
JavaScript 1.2
JavaScript 1.3: добавлена возможность специфицировать функцию в качестве второго параметра. |
Версия ECMA |
ECMA-262 Edition 3 |
Синтаксис
replace(regexp, newSubStr)
replace(regexp, function)
Версии до JavaScript 1.3:
replace(regexp, newSubStr)
Параметры
regexp |
Имя регулярного выражения. Это может быть имя переменной или литерал. |
newSubStr |
Строка, размещаемая вместо строки, найденной с помощью regexp. |
function | Функция, вызываемая после выполнения совпадения. |
Описание
Этот метод не изменяет String-объект, в котором он вызывается. Он просто возвращает новую строку.
Если Вы хотите выполнить глобальный поиск и замену,
включите в регулярное выражение флаг g.
Специфицирование строки в качестве параметра.
Замещающая строка может содержать следующие специальные патэрны замещения:
$$ |
Вставляет '$'. |
$& | Вставляет совпавшую подстроку. |
$` | Вставляет часть строки, предшествующую совпавшей подстроке. |
$´ |
Вставляет часть строки, следующую после совпавшей подстроки. |
$n или $nn |
Где n или nn это десятеричные числа, вставляет подстроку n-ного совпадения в скобках. |
Специфицирование функции в качестве параметра.
Если в качестве второго параметра Вы специфицируете функцию, эта функция
вызывается после выполнения совпадения. (использование функции таким способом часто называется лямбда-выражение.)
В Вашей функции Вы можете динамически генерировать
строку, которая замещает совпавшую подстроку. Результат вызова функции используется в качестве замещающего значения.
Вложенная функция может использовать совпавшие
подстроки для определения новой строки (newSubStr), которая замещает найденную
подстроку. Вы получаете совпавшие подстроки через параметры Вашей функции.
Первый параметр Вашей функции содержит полную совпавшую подстроку. Следующие n
параметров могут быть использованы для совпадений в скобках, запоминаемых строк
подсовпадений, где n это количество строк подсовпадения в регулярном
выражении. Наконец, последние два параметра это смещение в строке, где произошло
совпадение, и сама строка.
Например, это метод replace возвращает XX.zzzz - XX , zzzz.
"XXzzzz".replace(/(X*)(z*)/,
function (str, p1, p2, offset, s) {
return str + " - " + p1 + " , " + p2;
}
)
Обратная Совместимость
JavaScript 1.2.
Вы не можете специфицировать функцию, которая вызывается после выполнения
совпадения.
Примеры
Пример 1.
В этом примере регулярное выражение содержит флаги глобальный и игнорирования
регистра, что позволяет методу 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.
В этом примере регулярное выражение определено в replace и содержит флаг
игнорирования регистра.
<SCRIPT>
str = "Twas the night before Xmas...";
newstr=str.replace(/xmas/i, "Christmas");
document.write(newstr)
</SCRIPT>
Будет напечатано "Twas the night before Christmas..."
Пример 3.
Этот скрипт переключает слова в строке. Для замещающего текста ,скрипт
использует патэрны замещения $1 и $2.
<SCRIPT LANGUAGE="JavaScript1.2">
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>
Будет напечатано "Smith, John".
Пример 4.
В этом примере градусы по Фаренгейту замещаются градусами по Цельсию. Градусы по
Фаренгейту должны быть числом, заканчивающимся буквой F.
Функция возвращает градусы по Цельсию, оканчивающиеся буквой C. Например, если
параметр ввода будет 212F, функция возвратит 100C. Если будет задано число 0F,
функция возвратит -17.77777777777778C.
Регулярное выражение проверяет любые числа,
оканчивающиеся на 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,
function (str,p1,offset,s) {
return ((p1-32) * 5/9) + "C";
}
)
}
search
Выполняет поиск совпадения регулярного выражения и
данного String-объекта.
Метод из |
String |
Реализован в | JavaScript 1.2 |
Версия ECMA |
ECMA-262 Edition 3 |
Синтаксис
search(regexp)
Параметр
regexp |
Имя регулярного выражения. Это может быть имя переменной или литерал.. |
Описание
В случае успеха, search возвращает индекс регулярного выражения в строке. Иначе, возвращает -1.
Если Вы хотите знать, найден ли в строке патэрн,
используйте search (аналогично методу test регулярного выражения); для получения
дополнительно информации (но более медленного выполнения) используйте
match (аналогично методу exec регулярного выражения).
Пример
Это пример печатает сообщение, содержание которого зависит от успешности теста.
function testinput(re, str){
if (str.search(re) != -1)
midString = " contains ";
else
midString = " does not contain ";
document.write (str + midString + re.source);
}
slice
Извлекает раздел строки и возвращает новую строку.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Версия ECMA |
ECMA-262 Edition 3 |
Синтаксис
slice(beginslice[, endslice])
Параметры
beginslice |
Индекс с базой 0, по которому начинается извлечение. |
endslice |
Индекс с базой 0, по которому заканчивается извлечение. При отсутствии, slice извлекает до конца строки. |
Описание
slice извлекает текст из одной строки и возвращает новую строку. Изменения в
тексте одной строки не влияют на другие строки.
slice извлекает до, но не включая,
endslice. String.slice(1,4)
извлекает символы со второго по четвёртый (символы, индексированные 1, 2 и 3).
Как отрицательный индекс, endslice показывает смещение
от конца строки . String.slice(2,-1) извлекает символы с третьего через второй и последний.
Пример
В этом примере slice используется для создания новой строки.
<SCRIPT>
str1="The morning is upon us. "
str2=str1.slice(3,-5)
document.write(str2)
</SCRIPT>
Будет записано:
morning is upon
small
Выводи строку шрифтом уменьшенного размера, как при
использовании тэга <SMALL>.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Синтаксис
small()
Параметры
Отсутствуют.
Описание
Используйте метод small с методами write или writeln для форматирования и
отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.
Примеры
В этом примере методы работы со строками изменяют размер строки:
var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))
Вывод будет таким же, как и в нижеследующем HTML:
<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>
См. также
String.big,
String.fontsize.
split
Делит String-объект на массив строк, разделяя строку
на подстроки.
Метод из |
String |
Реализован в | JavaScript 1.1, NES 2.0 |
Версия ECMA |
ECMA-262 (если в качестве сепаратора строка) ECMA-262 Edition 3 (если в качестве сепаратора регулярное выражение) |
Синтаксис
split([separator][, limit])
Параметры
separator |
Специфицирует символ, используемый при разделении строки в качестве сепаратора.
Он обрабатывается как строка или как регулярное выражение. Если сепаратор
отсутствует, возвращаемый массив содержит один элемент - всю строку целиком. |
limit |
Целое число, специфицирующее ограничение количества находимых разделений. |
Описание
Метод split возвращает новый массив.
Если найден, сепаратор удаляется из строки и подстрок,
возвращаемых в массиве. Если сепаратор опущен, массив содержит один элемент - всю строку.
В JavaScript 1.2 и позже, split имеет следующие дополнения:
- Он может принимать регулярное выражение в качестве аргумента, а
также фиксированную строку, по которым разделяется строка-объект. Если сепаратор
- регулярное выражение, любые имеющиеся скобки вызывают включение подсовпадений
в возвращаемый массив.
- Может принимать ограниченное количество элементов, так что
результирующий массив не будет содержать пустые ведомые элементы.
- Если Вы специфицируете LANGUAGE="JavaScript1.2" в тэге SCRIPT,
String.split(" ")
делит строку при каждом прогоне одним или более пробельными символами, включая
пробелы, табуляцию, прогоны строки и возвраты каретки. Для этого LANGUAGE="JavaScript1.2"
обязано быть специфицировано в тэге <SCRIPT>.
Примеры
Пример 1.
В этом примере определяется функция, которая делит строку на массив строк,
используя специфицированный разделитель. После разделения строки, функция
выводит сообщения, содержащие строку-оригинал (до разделения), используемый
сепаратор, количество элементов массива и отдельные элементы массива.
function splitString (StringTosplit,separator) {
arrayOfStrings = StringTosplit.split(separator)
document.write ('<P>The original String is: "' + StringTosplit + '"')
document.write ('<BR>The separator is: "' + separator + '"')
document.write ("<BR>The array has " + arrayOfStrings.length + " elements: ")
for (var i=0; i < arrayOfStrings.length; i++) {
document.write (arrayOfStrings[i] + " / ")
}
}
var tempestString="Oh brave new world that has such people in it."
var monthString="Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"
var space=" "
var comma=","
splitString(tempestString,space)
splitString(tempestString)
splitString(monthString,comma)
Это пример производит следующий вывод:
The original String is: "Oh brave new world that has such people in it."
The separator is: " "
The array has 10 elements: Oh / brave / new / world / that / has / such / people / in / it.
/
The original String is: "Oh brave new world that has such people in it."
The separator is: "undefined"
The array has 1 elements: Oh brave new world that has such people in it. /
The original String is: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"
The separator is: ","
The array has 12 elements: Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov
/ Dec /
Пример 2.
Рассмотри следующий скрипт:
<SCRIPT LANGUAGE="JavaScript1.2">
str="She sells seashells \nby the\n seashore"
document.write(str + "<BR>")
a=str.split(" ")
document.write(a)
</SCRIPT>
При использовании LANGUAGE="JavaScript1.2" это скрипт
даст:
"She", "sells", "seashells", "by", "the", "seashore"
Без LANGUAGE="JavaScript1.2" этот скрипт разделит
только по отдельным пробельным символам, что даст:
"She", "sells", , , , "seashells", "by", , , "the", "seashore"
Пример 3.
Здесь split ищет 0 или боле символов пробела с последующим символом "точка с
запятой" с последующими 0 или более пробелами и, если совпадение найдено,
удаляет пробелы из строки.
nameList это массив, возвращаемый как результат работы split.
<SCRIPT>
names = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ";
document.write (names + "<BR>" + "<BR>");
re = /\s*;\s*/;
nameList = names.split (re);
document.write(nameList);
</SCRIPT>
В результате печатаются две строки; первая - строка-оригинал, вторая - результирующий массив.
Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand
Harry Trump,Fred Barney,Helen Rigby,Bill Abel,Chris Hand
Пример 4.
В этом примере split ищет в строке 0 или более пробелов и возвращает первые три найденные разделения.
<SCRIPT LANGUAGE="JavaScript1.2">
myVar = " Hello World. How are you doing? ";
splits = myVar.split(" ", 3);
document.write(splits)
</SCRIPT>
Скрипт отображает:
["Hello", "World.", "How"]
См. также
String.charAt,
String.indexOf,
String.lastIndexOf.
strike
Выводи строку перечёркнутым шрифтом, как при
использовании тэга <STRIKE>.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Синтаксис
strike()
Параметры
Отсутствуют.
Описание
Используйте метод strike с методами write или writeln для форматирования
и отображения строки в документе. В серверном JavaScript используйте для отображения строки функцию write.
Примеры
В этом примере методы работы со строками изменяют форматирование строки:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
Вывод будет таким же, как и в нижеследующем HTML:
<BLINK>Hello, world</BLINK>
<P><B>Hello, world</B>
<P><I>Hello, world</I>
<P><STRIKE>Hello, world</STRIKE>
См. также
String.blink,
String.bold,
String.italics.
sub
Выводит строку как подиндекс, как при использовании
тэга <SUB>.
Метод из |
String |
Реализован в |
JavaScript 1.0, NES 2.0 |
Синтаксис
sub()
Параметры
Отсутствуют.
Описание
Используйте метод sub с методами write или writeln для форматирования и
отображения строки в документе. В серверном JavaScript используйте для генерации HTML функцию write.
Примеры
Здесь методы sub и sup используются при форматировании строки:
var superText="superscript"
var subText="subscript"
document.write("This is what a " + superText.sup() + " looks like.")
document.write("<P>This is what a " + subText.sub() + " looks like.")
Вывод будет таким же, как и в нижеследующем HTML:
This is what a <SUP>superscript</SUP> looks like.
<P>This is what a <SUB>subscript</SUB> looks like.
См. также
String.sup.
substr
Возвращает специфицированное количество символов
строки, начиная со специфицированного места.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Синтаксис
substr(start[, length])
Параметры
start |
Точка, с которой начинается извлечение символов. |
length |
Количество извлекаемых символов. |
Описание
start это индекс символа. Индекс первого символа 0, а индекс последнего
символа - на 1 меньше длины строки.
substr начинает извлечение символов от start и выбирает length-количество
символов.
Если start имеет положительное значение и размер,
равный строке или больший, substr не возвращает никаких символов.
Если start имеет отрицательное значение, substr
использует его как индекс символа, считая от конца строки. Если start имеет
отрицательное значение и abs(start) больше длины строки, substr
использует 0 как start-индекс.
Если length равен 0 или отрицательный, substr не
возвращает никаких символов. Если length опущен, start извлекает символы до конца строки.
Пример
Рассмотрим следующий скрипт:
<SCRIPT LANGUAGE="JavaScript1.2">
str = "abcdefghij"
document.writeln("(1,2): ", str.substr(1,2))
document.writeln("(-2,2): ", str.substr(-2,2))
document.writeln("(1): ", str.substr(1))
document.writeln("(-20, 2): ", str.substr(1,20))
document.writeln("(20, 2): ", str.substr(20,2))
</SCRIPT>
Этот скрипт отобразит:
(1,2): bc
(-2,2): ij
(1): bcdefghij
(-20, 2): bcdefghij
(20, 2):
См. также
subString.
subString
Возвращает поднабор String-объекта.
Метод из |
String |
Реализован в |
JavaScript 1.0, NES 2.0 |
Версия ECMA | ECMA-262 |
Синтаксис
subString(indexA, indexB)
Параметры
indexA |
Целое, начиная от 0, на 1 меньшее, чем length строки. |
indexB |
Целое, начиная от 0, на 1 меньшее, чем length строки. |
Описание
subString извлекает символы с indexA до, но не включая, indexB.
В частности:
-
Если indexA меньше 0, indexA рассматривается как имеющий значение 0.
-
Если
indexB больше, чем StringName.length, indexB рассматривается
так, как если бы он был StringName.length.
-
Если
indexA равен indexB, subString
возвращает пустую строку.
-
Если
indexB опущен, indexA извлекает
символы до конца строки.
В JavaScript 1.2 используется LANGUAGE="JavaScript1.2" в тэге SCRIPT:
-
Если
indexA больше, чем indexB, JavaScript
производит ошибку времени выполнения (out of memory/недостаточно памяти).
В JavaScript 1.2 - без LANGUAGE="JavaScript1.2" в тэге SCRIPT:
-
Если
indexA больше, чем indexB, JavaScript
возвращает подстроку, начинающуюся с indexB и заканчивающуюся indexA - 1.
Примеры
Пример 1.
В это примере subString используется для отображения символов из строки "Netscape":
var anyString="Netscape"
// Displays "Net"
document.write(anyString.subString(0,3))
document.write(anyString.subString(3,0))
// Displays "cap"
document.write(anyString.subString(4,7))
document.write(anyString.subString(7,4))
// Displays "Netscap"
document.write(anyString.subString(0,7))
// Displays "Netscape"
document.write(anyString.subString(0,8))
document.write(anyString.subString(0,10))
Пример 2.
В это примере замещается подстрока в строке. будут замещаться отдельные символы
и подстроки. Вызов функции в конце примера изменяет строку "Brave New World" в "Brave New Web".
function replaceString(oldS,newS,fullS) {
// заменяет oldS на newS в String> fullS
for (var i=0; i<fullS.length; i++) {
if (fullS.subString(i,i+oldS.length) == oldS) {
fullS = fullS.subString(0,i)+newS+fullS.subString(i+oldS.length,fullS.length)
}
}
return fullS
}
replaceString("World","Web","Brave New World")
Пример 3.
В JavaScript 1.2, используя LANGUAGE="JavaScript1.2", следующий скрипт
производит ошибку времени выполнения (out of memory).
<SCRIPT LANGUAGE="JavaScript1.2">
str="Netscape"
document.write(str.subString(0,3);
document.write(str.subString(3,0);
</SCRIPT>
Без LANGUAGE="JavaScript1.2", вышеприведённый скрипт печатает следующее:
Net Net
Во втором write индексы поменялись местами.
См. также
substr.
sup
Выводит строку как надиндекс, как при использовании
тэга <SUP>.
Метод из |
String |
|
Реализован в |
JavaScript 1.0, NES 2.0 |
Синтаксис
sup()
Параметры
Отсутствуют.
Описание
Используйте метод sup с методами write или writeln для форматирования и
отображения строки в документе. В серверном JavaScript используйте для генерации HTML функцию write.
Примеры
Здесь методы sub и sup используются при форматировании
строки:
var superText="superscript"
var subText="subscript"
document.write("This is what a " + superText.sup() + " looks like.")
document.write("<P>This is what a " + subText.sub() + " looks like.")
Вывод будет таким же, как и в нижеследующем HTML:
This is what a <SUP>superscript</SUP> looks like.
<P>This is what a <SUB>subscript</SUB> looks like.
См. также
String.sub.
toLowerCase
Вызывающее строковое значение возвращается
конвертированным в нижний регистр.
Метод из |
String |
Реализован в | JavaScript 1.0, NES 2.0 |
Версия ECMA |
ECMA-262 |
Синтаксис
toLowerCase()
Параметры
Отсутствуют.
Описание
Метод toLowerCase возвращает в качестве значения
строку, конвертированную в нижний регистр.
toLowerCase не влияет на значение самой строки.
Примеры
Следующий пример выводит строку "alphabet" в нижнем регистре:
var upperText="ALPHABET"
document.write(upperText.toLowerCase())
См. также
String.toUpperCase.
toSource
Возвращает строку - исходный код объекта.
Метод из |
String |
Реализован в | JavaScript 1.3 |
Синтаксис
toSource()
Параметры
Отсутствуют.
Описание
Метод toSource возвращает следующие значения:
Это метод обычно вызывается внутренне в JavaScript, а не явно в коде.
toString
Возвращает строку, представляющую специфицированный
объект.
Метод из |
String |
Реализован в | JavaScript 1.1, NES 2.0 |
Версия ECMA |
ECMA-262 |
Синтаксис
toString()
Параметры
Отсутствуют.
Описание
Объект String переопределяет метод toString
объекта Object; он не наследует
Object.toString.
Для String-объектов метод toString
возвращает строковое представление объекта.
Примеры
В этом примере выводится строковое значение String-объекта:
x = new String("Hello world");
alert(x.toString()) // Выводится "Hello world"
См. также
Object.toString.
toUpperCase
Вызывающее строковое значение возвращается
конвертированным в верхний регистр.
Метод из |
String |
|
Реализован в |
JavaScript 1.0, NES 2.0 |
Версия ECMA | ECMA-262 |
Синтаксис
toUpperCase()
Параметры
Отсутствуют.
Описание
Метод toUpperCase возвращает в качестве значения строку, конвертированную в
верхний регистр.
toUpperCase не влияет на значение самой строки.
Примеры
Этот пример выводит строку "ALPHABET" в верхнем регистре:
var lowerText="alphabet"
document.write(lowerText.toUpperCase())
См. также
String.toLowerCase.
valueOf
Возвращает примитивное значение String-объекта.
Метод из |
String |
Реализован в | JavaScript 1.1 |
|
Версия ECMA | ECMA-262 |
Синтаксис
valueOf()
Параметры
Отсутствуют.
Описание
Метод valueOf в
String
возвращает примитивное значение String-объекта как тип данных String. Это
значение эквивалентно String.toString.
Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.
Примеры
x = new String("Hello world");
alert(x.valueOf()) // Выводит "Hello world"
См. также
String.toString,
Object.valueOf.
Copyright © 2000 Netscape Communications Corp.
Все права зарезервированы.
Дата последнего обновления: 28 сентября 2000 г.