Назад     Вперёд

Ядро JavaScript 1.5. Справочник.



String

 

Объект, представляющий серию символов в строке.

 

Объект ядра

Реализован в

JavaScript 1.0: создание объекта String только символами в кавычках.

JavaScript 1.1, NES 2.0: добавлен конструктор String; добавлено свойство prototype; добавлен метод split; добавлена возможность передавать строки между скриптами в различные окна и фрэймы (в предыдущих релизах Вы должны были добавлять пустую строку к строке другого окна, чтобы ссылаться на неё).

JavaScript 1.2, NES 3.0: добавлены методы concat, match, replace, search, slice и substr.

JavaScript 1.3: добавлен метод toSource; изменены методы charCodeAt, fromCharCode и replace.

Версия ECMA

ECMA-262


Создание

 

Конструктор String:

 

new String(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)


Параметры
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)


Параметры
color

Строка содержит цвет в виде 16-ричного RGB-триплета или в виде строкового литерала. Названия цветов - строковых литералов - даны в книге "Ядро JavaScript. Руководвство по Использованию".


Описание

Используйте метод 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 имеет следующие дополнения:


Примеры

Пример 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 возвращает следующие значения:

  • Для встроенного объекта String, toSource возвращает следующую строку, указывающую, что исходный код недоступен:

       function String() {
          [native code]
       }

  • Для экземпляров String или строковых литералов, 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 г.

Hosted by uCoz