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. Например, следующий
код создаёт строковой литерал s1 и String-объект s2:
s1 = "foo" // создаётся строковое литеральное значение s2 = new String("foo") // создаётся String-объект
Вы можете вызвать любой метод String-объекта в строковом литеральном
значении -- JavaScript автоматически конвертирует строковой литерал во временный
String-объект, вызывает метод, затем уничтожает временный String-объект.
Можно также использовать свойство String.length со строковым литералом.
Вы должны использовать строковые литералы, если нет специальной необходимости
использовать 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-якорь, используемый как цель гиперссылки.
Возвращает вызывающую строку, конвертированную в нижний регистр.
toSource
Возвращает литерал объекта, представляющий специфицированный объект;
можно использовать это значение для создания нового объекта. Переопределяет
метод Object.toSource.
Пример 3: Доступ к определённым символам строки. Вы можете представить
строку как массив символов. Тогда можно получить доступ к отдельным символам
строки по индексу этого массива.
var myString = "Hello" myString[0] // возвращает "H"
Пример 4: Передача строки между скриптами в различных окнах и фрэймах.
Следующий код создаёт две строковые переменные и открывает второе окно:
var lastName = "Schaefer" var firstName = "Jesse" empWindow=window.open('string2.html','window1','width=300,height=300')
Если код HTML второго окна (string2.html) создаёт две строковые
переменные empLastName и empFirstName, следующий код
в первом окне присваивает значения переменным второго окна:
А этот код в первом окне выводит значения переменных второго окна:
alert('empFirstName in empWindow is ' + empWindow.empFirstName) alert('empLastName in empWindow is ' + empWindow.empLastName)
anchor
Создаёт HTML-якорь, который используется как цель гипертекстовой ссылки/target.
Синтаксис
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>
big
Выводит строку увеличенным шрифтом, как при использовании тэга BIG.
Синтаксис
big()
Параметры
Отсутствуют.
Описание
Используйте метод big вместе с методами write или
writeln для форматирования и отображения строки в документе. В
серверном JavaScript используйте функцию write для отображения
строки.
Пример
Используются методы работы со строками для изменения размера текста строки:
Выводит строку шрифтом blink, как при использовании тэга BLINK.
Синтаксис
blink()
Параметры
Отсутствуют.
Описание
Используйте метод blink вместе с методами write или
writeln для форматирования и отображения строки в документе. В
серверном JavaScript используйте функцию write для отображения
строки.
Пример
Здесь используются методы работы со строками для изменения форматирования строки:
Выводит строку шрифтом bold, как при использовании тэга B.
Синтаксис
bold()
Параметры
Отсутствуют.
Описание
Используйте метод bold вместе с методами write или
writeln для форматирования и отображения строки в документе. В
серверном JavaScript используйте функцию write для отображения
строки.
Пример
Здесь используются методы работы со строками для изменения форматирования строки:
Целое число в диапазоне от 0 до числа, меньшего длины строки на 1.
Описание
Символы строки индексируются слева направо. Индекс первого символа строки равен
0, а последнего (для строки с именем stringName) stringName.length
- 1. Если предоставляемый Вами index выходит за пределы
указанного диапазона, 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
charCodeAt
Возвращает число - Unicode-значение символа, находящегося в строке по данному
индексу.
Синтаксис
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 до 255. Первые числа от 0 до 127 напрямую
соответствуют набору символов ASCII.
Пример
Пример 1. Этот пример возвращает 65, Unicode-значение латинской заглавной
A.
"ABC".charCodeAt(0) // возвращает 65
Пример 2. Создаётся событие для симуляции нажатия клавиши. Событие KeyPress
имеет свойство which, которое представляет ASCII-значение нажатой
клавиши. Если Вам известна буква, число или символ, Вы можете использовать charCodeAt
для предоставления ASCII-значения в свойство which.
//создаётся Еvent-объект с нужными значениями свойств ev = new Event() ev.type = KeyPress ev.layerX = 150 //присваиваются значения свойствам layerY, pageX, pageY, screenX и screenY ... //присваивается ASCII-значение свойству which ev.which = "v".charCodeAt(0) //assign modifier property ev.modifiers = <FONT COLOR="#FF0080">How do I do this?</FONT>
concat
Объединяет текст двух или более строк и возвращает новую строку.
Синтаксис
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
Специфицирует функцию, которая создаёт прототип объекта. Заметьте, что значением
этого свойства является ссылка на функцию, а не строка с именем функции.
fixed
Выводит строку шрифтом фиксированной ширины, как при использовании тэга TT.
Синтаксис
fixed()
Параметры
Отсутствуют.
Описание
Используйте метод fixed вместе с методами write или
writeln для форматирования и отображения строки документа. В серверном
JavaScript используйте функцию write для отображения строки.
Пример
Метод fixed используется для изменения форматирования строки:
var worldString="Hello, world" document.write(worldString.fixed())
Предыдущий пример даст тот же вывод, что и следующий HTML:
<TT>Hello, world</TT>
fontcolor
Отображает строку специфицированным цветом, как при использовании тэга <FONT
COLOR=color>.
Синтаксис
fontcolor(color)
Параметр
color
Строка, выражающая цвет как 16-ричный RGB-триплет или как строковой литерал.
Строковые литералы - названия цветов перечислены в книге Клиентский
JavaScript.Руководство.
Описание
Используйте метод fontcolor вместе с методами write
или writeln для форматирования и отображения строки в документе.
В серверном JavaScript используйте функцию write для отображения
строки.
Если color выражается как 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>.
Синтаксис
fontsize(size)
Параметр
size
Целое число в диапазоне от 1 до 7; строка, представляющая целое число
со знаком в диапазоне от 1 до 7.
Описание
Используйте метод fontsize вместе с методами write
или writeln для форматирования и отображения строки в документе.
В серверном JavaScript используйте функцию write для отображения
строки.
Если size специфицируется как целое число, Вы устанавливаете размер
для stringName в один из 7 определённых размеров. Если size
специфицируется как строка, такая как "-2", Вы настраиваете размер
шрифта строки stringName относительно размера, установленного в
тэге BASEFONT.
Возвращает строку, созданную с использованием специфицированной последовательности
Unicode-значений.
Синтаксис
fromCharCode(num1, ..., numN)
Параметр
num1, ..., numN
Последовательность чисел, которые являются Unicode-значениями.
Описание
Этот метод возвращает строку, а не String-объект.
Поскольку fromCharCode это static-метод объекта String,
Вы всегда записываете его String.fromCharCode(), а не как метод
созданного Вами String-объекта.
Обратная Совместимость
JavaScript 1.2. Метод fromCharCode возвращает строку, созданную
с использованием специфицированной последовательности значений набора ISO-Latin-1.
Примеры
Пример 1. Этот пример возвращает строку "ABC".
String.fromCharCode(65,66,67)
Пример 2. Свойство which событий KeyDown,
KeyPress и KeyUp содержит ASCII-значение клавиши клавиатуры,
нажатой при возникновении события. Если Вы хотите получить фактическую букву,
число или символ клавиши, Вы можете использовать fromCharCode.
Следующий пример возвращает букву, число или символ в свойстве which
события KeyPress.
String.fromCharCode(KeyPress.which)
indexOf
Возвращает индекс первого появления специфицированного значения в вызывающем
String-объекте, начиная поиск с fromIndex, или возвращает
-1, если значение не найдено.
Синтаксис
indexOf(searchValue[, fromIndex])
Параметры
searchValue
Строка, представляющая искомое значение.
fromIndex
Место в вызывающей строке, с которого начинать поиск. Это может быть
целое число в диапазоне от 0 до длины строки. По умолчанию имеет значение
0.
Описание
Символы в строке индексируются слева направо. Индекс первого символа равен
0, а индекс последнего символа строки stringName равен stringName.length
- 1.
Метод 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:
Выводит строку шрифтом italic, как при использовании тэга <I>.
Синтаксис
italics()
Параметры
Отсутствуют.
Описание
Используйте метод italics вместе с методами write
или writeln для форматирования и отображения строки в документе.
В серверном JavaScript используйте функцию write для отображения
строки.
Пример
Здесь используются методы работы со строками для изменения форматирования строки:
Возвращает индекс последнего появления специфицированного значения в вызывающем
String-объекте или -1, если ничего не найдено. Поиск в вызывающей
строке идёт в обратном направлении, справа налево, начиная с fromIndex.
Синтаксис
lastIndexOf(searchValue[, fromIndex])
Параметры
searchValue
Строка, представляющая искомое значение.
fromIndex
Место в вызывающей строке, с которого начинать поиск. Это может быть
целое число в диапазоне от 0 до длины строки. Значение по умолчанию -
длина строки.
Описание
Символы в строке индексируются слева направо. Индекс первого символа равен
0, а индекс последнего символа равен stringName.length - 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"))
length
Длина строки.
Описание
Для null-строки длина будет равна 0.
Пример
Будет выведена цифра 8 в диалоговом окне Alert:
var x="Netscape" alert("The string length is " + x.length)
link
Создаёт гипертекстовую HTML-ссылку, которая запрашивает другой URL.
Синтаксис
link(hrefAttribute)
Параметр
hrefAttribute
Любая строка, специфицирующая атрибут HREF тэга A;
это должен быть правильный URL (относительный или абсолютный).
Описание
Используйте метод link для программного создания гиперссылки и
последующего вызова write или writeln для отображения
ссылки в документе. В серверном JavaScript используйте функцию write
для отображения ссылки.
Ссылки, созданные методом link, становятся элементами массива
links объекта 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
Используется для поиска совпадений регулярного выражения со строкой.
Синтаксис
match(regexp)
Параметр
regexp
Имя регулярного выражения. Это может быть имя переменной или литерал.
Описание
Если Вам нужно выполнить глобальный поиск совпадения или поиск с учётом регистра,
включите в регулярное выражение флаги g (для глобального поиска)
и i (для игнорирования регистра). Эти флаги могут использоваться
вместе или по отдельности. Следующие два пример показывают, как использовать
эти флаги вместе с match.
ПРИМЕЧАНИЕ: Если Вы выполняете поиск только для того, чтобы найти
true или false, используйте String.search или метод test
регулярного выражения.
Примеры
Пример 1. Здесь match используется для поиска подстроки
'Chapter' с последующим одним или более цифровыми символами, с последующей десятичной
точкой и цифровыми символами 0 или более раз. Регулярно выражение включает флаг
i, поэтому регистр символов игнорируется.
<SCRIPT> str = "For more information, see Chapter 3.4.5.1"; re = /(chapter \d+(\.\d)*)/i; found = str.match(re); document.write(found); </SCRIPT>
Прототип для данного класса. Этот прототип можно использовать для добавления
свойств и методов всем экземплярам класса. О прототипах см. Function.prototype.
replace
Находит совпадение регулярного выражения и строки и замещает совпавшую подстроку
новой подстрокой.
Функция, выполняемая после выполнения поиска совпадения.
Описание
Этот метод не изменяет String-объект, которым он вызывается; он
просто возвращает новую строку.
Если Вы хотите выполнить глобальный поиск и замену или поиск без учёта регистра,
включите флаги g (для глобального поиска) и i (игнорирование
регистра) в регулярное выражение. Они могут быть включены вместе и отдельно.
Следующие два примера показывают использование этих флагов вместе с replace.
Специфицирование функции в качестве параметра.
Если Вы специфицируете функцию в качестве второго параметра, она вызывается
после выполнения поиска совпадения. (Такое использование функции часто называется
"лямбда-выражение".)
В Вашей функции Вы можете динамически генерировать строку, которая замещает
совпавшую подстроку. Результат вызова функции используется в качестве замещающего
значения.
Вложенная функция может использовать совпавшие подстроки для определения новой
строки (newSubStr), которая замещает найденную подстроку. Вы получаете
совпавшие подстроки через параметры Вашей функции. Первый параметр Вашей функции
содержит полностью совпавшую подстроку. Другие параметры могут использоваться
для совпадений в скобках, для запоминания подсовпадений строк. Например, следующий
метод replaceвозвращает XX.zzzz - XX , zzzz.
Массив, возвращённый из метода execRegExp-объекта
и последующего совпадения доступен для Вашей функции. Вы можете использовать
содержимое массива плюс свойства input и index (индекс
совпадения в строке ввода) этого массива для выполнения дополнительных задач,
перед тем как метод заменит подстроку.
Примеры
Пример 1. Здесь регулярное выражение содержит флаги global и ignore
case с разрешением методу replace замещать каждое вхождение 'apples'
на 'oranges'.
<SCRIPT> re = /apples/gi; str = "Apples are round, and apples are juicy."; newstr=str.replace(re, "oranges"); document.write(newstr) </SCRIPT>
Будет напечатано "oranges are round, and oranges are juicy."
Пример 2. В этом примере регулярное выражение определено в методе 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.
Пример 4. Здесь градусы по Фаренгейту замещаются эквивалентом по Цельсию.
Градусы по Фаренгейту должны быть числом с конечной F. Функция возвращает число
по Цельсию с конечной С. Например, если введено 212F, функция возвращает 100C.
Если введено 0F, функция возвращает -17.77777777777778C.
Регулярное выражение test проверяет числа с конечной буквой F.
Число по Фаренгейту доступно для Вашей функции через параметр $1.
Функция устанавливает число по Цельсию на основе значения по Фаренгейту, передаваемого
в строке функции f2c. Затем f2c возвращает число по
Цельсию. Эта функция напоминает флаг s///e из Perl.
function f2c(x) { var s = String(x) var test = /(\d+(\.\d*)?)F\b/g return s.replace (test, myfunction ($0,$1,$2) { return (($1-32) * 5/9) + "C"; } ) }
search
Выполняет поиск совпадения между регулярным выражением и данным String-объектом.
Синтаксис
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
Извлекает часть строки и возвращает новую строку.
Синтаксис
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, как при использовании тэга <SMALL>.
Синтаксис
small()
Параметры
Отсутствуют.
Описание
Используйте метод small вместе с методами write или
writeln для форматирования и отображения строки в документе. В
серверном JavaScript используйте функцию write для отображения
строки.
Пример
Используются string-методы для изменения размера строки:
Разделяет String-объект на массив строк, разделяя строку на подстроки.
Синтаксис
split([separator][, limit])
Параметры
separator
Специфицирует символ - разделитель строк. separator рассматривается
как строка. Если separator отсутствует, возвращённый массив
состоит из одного элемента - полной строки.
limit
Целое число, специфицирующее ограничение на количество находимых разделений.
Описание
Метод split возвращает новый массив.
Если найден, separator удаляется из подстрок, возвращённых в массиве.
Если separator опущен, массив содержит один элемент - всю строку
целиком.
В JavaScript 1.2 split имеет следующие дополнения:
Он может принимать в качестве аргумента регулярное выражение, а также фиксированную
строку, которой разделяется строка-объект. Если separator это
регулярное выражение, любые включённые скобки вызывают включение подсовпадений
в возвращаемый массив.
Он может принимать limit-счётчик, поэтому результирующий массив не включает
ведомые пустые элементы.
Если LANGUAGE="JavaScript1.2" специфицирован в тэге SCRIPT,
string.split(" ") делит при любом появлении 1 или более пробельных
символов, включая space/пробел, tab\табуляцию, line feed/прогон строки и возврат
каретки. Для этого 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"
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 /
Пример 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"]
strike
Вызывает отображение строки перечёркнутым/struck-out текстом, как при использовании
тэга <STRIKE>.
Синтаксис
strike()
Параметры
Отсутствуют.
Описание
Используйте метод strike вместе с методами write
или writeln для форматирования и отображения строки в документе.
В серверном JavaScript используйте функцию write для отображения
строки.
Пример
Здесь используются методы работы со строками для изменения форматирования строки:
Вызывает отображение строки как subscript/подиндекс, как при использовании
тэга <SUB>.
Синтаксис
sub()
Параметры
Отсутствуют.
Описание
Используйте метод sub вместе с методами write или
writeln для форматирования и отображения строки в документе. В
серверном JavaScript используйте функцию write для генерации HTML.
Пример
Методы 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.
substr
Возвращает специфицированное количество символов строки, начиная со специфицированного
места.
Синтаксис
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 извлекает символы до конца строки.
Пример 2. Заменяется подстрока в строке. Заменяются отдельные символы
и подстроки. Вызов функции в конце примера изменяет строку "Brave New
World" на "Brave New Web".
function replaceString(oldS,newS,fullS) { // заменяет oldS на newS в строке 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).
Без LANGUAGE="JavaScript1.2" вышеприведённый скрипт напечатает
следующее:
Net Net
Во втором write числа-индексы меняются местами.
sup
Вызывает отображение строки superscript/надиндекс, как при использовании тэга
<SUP>.
Синтаксис
sup()
Параметры
Отсутствуют.
Описание
Используйте метод sup вместе с методами write или
writeln для форматирования и отображения строки в документе. В
серверном JavaScript используйте функцию write для генерации HTML.
Пример
Методы 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.
toLowerCase
Возвращает вызвавшее строковое значение, конвертированное в нижний регистр.
Синтаксис
toLowerCase()
Параметры
Отсутствуют.
Описание
Метод toLowerCase возвращает значение строки, конвертированное
в нижний регистр. toLowerCase не влияет на само значение строки.
Пример
Выводится строка "alphabet":
var upperText="ALPHABET" document.write(upperText.toLowerCase())
toSource
Возвращает строку, представляющую исходный код объекта.
Синтаксис
toSource()
Параметры
Отсутствуют.
Описание
Метод toSource возвращает следующие значения:
Для встроенного объекта String - метод toSource
возвращает следующую строку, указывающую, что исходный код недоступен:
function String() { [native code] }
Для экземпляров объекта String или строковых литералов - метод
toSource возвращает строку, представляющую исходный код.
Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.
Объект String переопределяет метод toString объекта
Object;
он не наследует Object.toString.
Для String-объектов метод toString возвращает строку,
представляющую объект.
Пример
Отображается строковое значение String-объекта:
x = new String("Hello world"); alert(x.toString()) // Выводит "Hello world"
toUpperCase
Возвращает вызвавшее строковое значение, конвертированное в верхний регистр.
Синтаксис
toUpperCase()
Параметры
Отсутствуют.
Описание
Метод toUpperCase возвращает значение строки, конвертированное
в верхний регистр. toUpperCase не влияет на значение самой строки.
Пример
Выводится строка "ALPHABET":
var lowerText="alphabet" document.write(lowerText.toUpperCase())
valueOf
Возвращает примитивное значение String-объекта.
Синтаксис
valueOf()
Параметры
Отсутствуют.
Описание
Метод valueOf объекта String возвращает примитивное
значение String-объекта как тип данных string. Это значение эквивалентно
String.toString.
Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.
Пример
x = new String("Hello world"); alert(x.valueOf()) // Выводит "Hello world"