Table of Contents | Previous
| Next
| Index
An object representing a series of characters in a string.
The String
constructor:
new String(string)
The String
object is a wrapper around the string primitive data type. Do not confuse a string literal with the String
object. For example, the following code creates the string literal s1
and also the String
object s2
:
s1 = "foo" // creates a string literal value
s2 = new String("foo") // creates a String object
You can call any of the methods of the String
object on a string literal value--JavaScript automatically converts the string literal to a temporary String
object, calls the method, then discards the temporary String
object. You can also use the String.length
property with a string literal.
You should use string literals unless you specifically need to use a String
object, because String
objects can have counterintuitive behavior. For example:
s1 = "2 + 2" // creates a string literal value
s2 = new String("2 + 2") // creates a String object
eval(s1) // returns the number 4
eval(s2) // returns the string "2 + 2"
A string can be represented as a literal enclosed by single or double quotation marks; for example, "Netscape" or `Netscape'.
You can convert the value of any object into a string using the top-level String
function.
In addition, this object inherits the watch
and unwatch
methods from Object
.
Example 1: String literal. The following statement creates a string literal:
var last_name = "Schaefer"
Example 2: String literal properties. The following statements evaluate to 8, "SCHAEFER,"
and "schaefer"
:
last_name.length
last_name.toUpperCase()
last_name.toLowerCase()
Example 3: Accessing individual characters in a string. You can think of a string as an array of characters. In this way, you can access the individual characters in the string by indexing that array. For example, the following code displays "The first character in the string is H":
var myString = "Hello"
myString[0] // returns "H"
Example 4: Pass a string among scripts in different windows or frames. The following code creates two string variables and opens a second window:
var lastName = "Schaefer"
var firstName = "Jesse"
empWindow=window.open('string2.html','window1','width=300,height=300')
If the HTML source for the second window (string2.html
) creates two string variables, empLastName
and empFirstName
, the following code in the first window assigns values to the second window's variables:
empWindow.empFirstName=firstName
empWindow.empLastName=lastName
The following code in the first window displays the values of the second window's variables:
alert('empFirstName in empWindow is ' + empWindow.empFirstName)
alert('empLastName in empWindow is ' + empWindow.empLastName)
Creates an HTML anchor that is used as a hypertext target.
anchor(nameAttribute)
Use the anchor
method with the document.write
or document.writeln
methods to programmatically create and display an anchor in a document. Create the anchor with the anchor
method, and then call write
or writeln
to display the anchor in a document. In server-side JavaScript, use the write
function to display the anchor.
In the syntax, the text
string represents the literal text that you want the user to see. The nameAttribute
string represents the NAME
attribute of the A
tag.
Anchors created with the anchor
method become elements in the document.anchors
array.
The following example opens the msgWindow
window and creates an anchor for the table of contents:
var myString="Table of Contents"
msgWindow.document.writeln(myString.anchor("contents_anchor"))
The previous example produces the same output as the following HTML:
<A NAME="contents_anchor">Table of Contents</A>
In server-side JavaScript, you can generate this HTML by calling the write
function instead of using document.writeln
.
String.link
Causes a string to be displayed in a big font as if it were in a BIG
tag.
big()
None
Use the big
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to display the string.
The following example uses string
methods to change the size of a string:
var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))
The previous example produces the same output as the following HTML:
<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>
String.fontsize
, String.small
Causes a string to blink as if it were in a BLINK
tag.
blink()
None
Use the blink
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to display the string.
The following example uses string
methods to change the formatting of a string:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
The previous example produces the same output as the following 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
Causes a string to be displayed as bold as if it were in a B
tag.
bold()
None
Use the bold
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to display the string.
The following example uses string
methods to change the formatting of a string:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
The previous example produces the same output as the following 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
Returns the specified character from the string.
charAt(index)
Characters in a string are indexed from left to right. The index of the first character is 0, and the index of the last character in a string called stringName
is stringName.length - 1
. If the index
you supply is out of range, JavaScript returns an empty string.
The following example displays characters at different locations in the string "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))
These lines display the following:
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
In server-side JavaScript, you can display the same output by calling the write
function instead of using document.writeln
.
String.indexOf
, String.lastIndexOf
, String.split
Returns a number indicating the ISO-Latin-1 codeset value of the character at the given index.
charCodeAt([index])
The ISO-Latin-1 codeset ranges from 0 to 255. The first 0 to 127 are a direct match of the ASCII character set.
The following example returns 65, the ISO-Latin-1 codeset value for A.
"ABC".charCodeAt(0) // returns 65
Combines the text of two or more strings and returns a new string.
concat(string2, string3[, ..., stringN])
concat
combines the text from two strings and returns a new string. Changes to the text in one string do not affect the other string.
The following example combines two strings into a new string.
s1="Oh "
s2="what a beautiful "
s3="mornin'."
s4=s1.concat(s2,s3) // returns "Oh what a beautiful mornin'."
Specifies the function that creates an object's prototype. Note that the value of this property is a reference to the function itself, not a string containing the function's name.
See Object.constructor
.
Causes a string to be displayed in fixed-pitch font as if it were in a TT
tag.
fixed()
None
Use the fixed
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to display the string.
The following example uses the fixed
method to change the formatting of a string:
var worldString="Hello, world"
document.write(worldString.fixed())
The previous example produces the same output as the following HTML:
<TT>Hello, world</TT>
Causes a string to be displayed in the specified color as if it were in a <FONT COLOR=color>
tag.
fontcolor(color)
Use the fontcolor
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to display the string.
If you express color
as a hexadecimal RGB triplet, you must use the format rrggbb
. For example, the hexadecimal RGB values for salmon are red=FA
, green=80
, and blue=72
, so the RGB triplet for salmon
is "FA8072"
.
The fontcolor
method overrides a value set in the fgColor
property.
The following example uses the fontcolor
method to change the color of a string:
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")
The previous example produces the same output as the following 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
Causes a string to be displayed in the specified font size as if it were in a <FONT SIZE=size>
tag.
fontsize(size)
Use the fontsize
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to display the string.
When you specify size
as an integer, you set the size of stringName
to one of the 7 defined sizes. When you specify size
as a string such as "-2"
, you adjust the font size of stringName
relative to the size set in the BASEFONT
tag.
The following example uses string
methods to change the size of a string:
var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))
The previous example produces the same output as the following HTML:
<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>
String.big
, String.small
Returns a string created by using the specified sequence of ISO-Latin-1 codeset values.
fromCharCode(num1, ..., numN)
This method returns a string and not a String
object.
Because fromCharCode
is a static method of String
, you always use it as String.fromCharCode()
, rather than as a method of a String
object you created.
The following example returns the string "ABC".
String.fromCharCode(65,66,67)
Returns the index within the calling String
object of the first occurrence of the specified value, starting the search at fromIndex
, or -1 if the value is not found.
indexOf(searchValue[, fromIndex])
Characters in a string are indexed from left to right. The index of the first character is 0, and the index of the last character of a string called stringName
is stringName.length - 1
.
"Blue Whale".indexOf("Blue") // returns 0
"Blue Whale".indexOf("Blute") // returns -1
"Blue Whale".indexOf("Whale",0) // returns 5
"Blue Whale".indexOf("Whale",5) // returns 5
"Blue Whale".indexOf("",9) // returns 9
"Blue Whale".indexOf("",10) // returns 10
"Blue Whale".indexOf("",11) // returns 10
The indexOf
method is case sensitive. For example, the following expression returns -1:
"Blue Whale".indexOf("blue")
Example 1. The following example uses indexOf
and lastIndexOf
to locate values in the string "Brave new world."
var anyString="Brave new world"
// Displays 8
document.write("<P>The index of the first w from the beginning is " +
anyString.indexOf("w"))
// Displays 10
document.write("<P>The index of the first w from the end is " +
anyString.lastIndexOf("w"))
// Displays 6
document.write("<P>The index of 'new' from the beginning is " +
anyString.indexOf("new"))
// Displays 6
document.write("<P>The index of 'new' from the end is " +
anyString.lastIndexOf("new"))
Example 2. The following example defines two string variables. The variables contain the same string except that the second string contains uppercase letters. The first writeln
method displays 19. But because the indexOf
method is case sensitive, the string "cheddar"
is not found in myCapString
, so the second writeln
method displays -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"))
Example 3. The following example sets count
to the number of occurrences of the letter x
in the string str
:
count = 0;
pos = str.indexOf("x");
while ( pos != -1 ) {
count++;
pos = str.indexOf("x",pos+1);
}
String.charAt
, String.lastIndexOf
, String.split
Causes a string to be italic, as if it were in an <I
> tag.
italics()
None
Use the italics
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to display the string.
The following example uses string
methods to change the formatting of a string:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
The previous example produces the same output as the following 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
Returns the index within the calling String
object of the last occurrence of the specified value, or -1 if not found. The calling string is searched backward, starting at fromIndex
.
lastIndexOf(searchValue[, fromIndex])
Characters in a string are indexed from left to right. The index of the first character is 0, and the index of the last character is stringName
.length - 1.
"canal".lastIndexOf("a") // returns 3
"canal".lastIndexOf("a",2) // returns 1
"canal".lastIndexOf("a",0) // returns -1
"canal".lastIndexOf("x") // returns -1
The lastIndexOf
method is case sensitive. For example, the following expression returns -1:
"Blue Whale, Killer Whale".lastIndexOf("blue")
The following example uses indexOf
and lastIndexOf
to locate values in the string "Brave new world."
var anyString="Brave new world"
// Displays 8
document.write("<P>The index of the first w from the beginning is " +
anyString.indexOf("w"))
// Displays 10
document.write("<P>The index of the first w from the end is " +
anyString.lastIndexOf("w"))
// Displays 6
document.write("<P>The index of 'new' from the beginning is " +
anyString.indexOf("new"))
// Displays 6
document.write("<P>The index of 'new' from the end is " +
anyString.lastIndexOf("new"))
In server-side JavaScript, you can display the same output by calling the write
function instead of using document.write
.
String.charAt
, String.indexOf
, String.split
The length of the string.
For a null string, length is 0.
The following example displays 8 in an Alert dialog box:
var x="Netscape"
alert("The string length is " + x.length)
Creates an HTML hypertext link that requests another URL.
link(hrefAttribute)
Use the link
method to programmatically create a hypertext link, and then call write
or writeln
to display the link in a document. In server-side JavaScript, use the write
function to display the link.
Links created with the link
method become elements in the links
array of the document
object. See document.links
.
The following example displays the word "Netscape" as a hypertext link that returns the user to the Netscape home page:
var hotText="Netscape"
var URL="http://home.netscape.com"
document.write("Click to return to " + hotText.link(URL))
The previous example produces the same output as the following HTML:
Click to return to <A HREF="http://home.netscape.com">Netscape</A>
Used to match a regular expression against a string.
match(regexp)
If you want to execute a global match, or a case insensitive match, include the g
(for global) and i
(for ignore case) flags in the regular expression. These can be included separately or together. The following two examples below show how to use these flags with match
.
NOTE:
If you execute a match simply to find true or false, use String.search
or the
regular expression test
method.
Example 1. In the following example, match
is used to find 'Chapter' followed by 1 or more numeric characters followed by a decimal point and numeric character 0 or more times. The regular expression includes the i
flag so that case will be ignored.
<SCRIPT>
str = "For more information, see Chapter 3.4.5.1";
re = /(chapter \d+(\.\d)*)/i;
found = str.match(re);
document.write(found);
</SCRIPT>
This returns the array containing Chapter 3.4.5.1,Chapter 3.4.5.1,.1
'Chapter 3.4.5.1'
is the first match and the first value remembered from (Chapter \d+(\.\d)*)
.
'.1'
is the second value remembered from (\.\d)
.
Example 2. The following example demonstrates the use of the global and ignore case flags with match
.
<SCRIPT>
str = "abcDdcba";
newArray = str.match(/d/gi);
document.write(newArray);
</SCRIPT>
The returned array contains D, d.
Represents the prototype for this class. You can use the prototype to add properties or methods to all instances of a class. For information on prototypes, see Function.prototype
.
Finds a match between a regular expression and a string, and replaces the matched substring with a new substring.
replace(regexp, newSubStr)
This method does not change the String
object it is called on; it simply returns a new string.
If you want to execute a global search and replace, or a case insensitive search, include the g
(for global) and i
(for ignore case) flags in the regular expression. These can be included separately or together. The following two examples below show how to use these flags with replace
.
Example 1. In the following example, the regular expression includes the global and ignore case flags which permits replace
to replace each occurrence of 'apples' in the string with 'oranges.'
<SCRIPT>
re = /apples/gi;
str = "Apples are round, and apples are juicy.";
newstr=str.replace(re, "oranges");
document.write(newstr)
</SCRIPT>
This prints "oranges are round, and oranges are juicy."
Example 2. In the following example, the regular expression is defined in replace
and includes the ignore case flag.
<SCRIPT>
str = "Twas the night before Xmas...";
newstr=str.replace(/xmas/i, "Christmas");
document.write(newstr)
</SCRIPT>
This prints "Twas the night before Christmas..."
Example 3. The following script switches the words in the string. For the replacement text, the script uses the values of the $1
and $2
properties.
<SCRIPT LANGUAGE="JavaScript1.2">
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>
This prints "Smith, John".
Example 4. The following example replaces a Fahrenheit degree with its equivalent Celsius degree. The Fahrenheit degree should be a number ending with F. The function returns the Celsius number ending with C. For example, if the input number is 212F, the function returns 100C. If the number is 0F, the function returns -17.77777777777778C.
The regular expression test
checks for any number that ends with F. The number of Fahrenheit degree is accessible to your function through the parameter $1
. The function sets the Celsius number based on the Fahrenheit degree passed in a string to the f2c
function. f2c
then returns the Celsius number. This function approximates Perl's s///e flag.
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";
}
)
}
Executes the search for a match between a regular expression and this String
object.
search(regexp)
If successful, search
returns the index of the regular expression inside the string. Otherwise, it returns -1.
When you want to know whether a pattern is found in a string use search
(similar to the regular expression test
method); for more information (but slower execution) use match
(similar to the regular expression exec
method).
The following example prints a message which depends on the success of the test.
function testinput(re, str){
if (str.search(re) != -1)
midstring = " contains ";
else
midstring = " does not contain ";
document.write (str + midstring + re.source);
}
Extracts a section of a string and returns a new string.
slice(beginslice[, endSlice])
slice
extracts the text from one string and returns a new string. Changes to the text in one string do not affect the other string.
slice
extracts up to but not including endSlice
. string.slice(1,4)
extracts the second character through the fourth character (characters indexed 1, 2, and 3).
As a negative index, endSlice
indicates an offset from the end of the string. string.slice(2,-1)
extracts the third character through the second to last character in the string.
The following example uses slice
to create a new string.
<SCRIPT>
str1="The morning is upon us. "
str2=str1.slice(3,-5)
document.write(str2)
</SCRIPT>
This writes:
morning is upon
Causes a string to be displayed in a small font, as if it were in a <SMALL
> tag.
small()
None
Use the small
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to display the string.
The following example uses string
methods to change the size of a string:
var worldString="Hello, world"
document.write(worldString.small())
document.write("<P>" + worldString.big())
document.write("<P>" + worldString.fontsize(7))
The previous example produces the same output as the following HTML:
<SMALL>Hello, world</SMALL>
<P><BIG>Hello, world</BIG>
<P><FONTSIZE=7>Hello, world</FONTSIZE>
String.big
, String.fontsize
Splits a String
object into an array of strings by separating the string into substrings.
split([separator][, limit])
The split
method returns the new array.
When found, separator
is removed from the string and the substrings are returned in an array. If separator
is omitted, the array contains one element consisting of the entire string.
In JavaScript 1.2, split
has the following additions:
Example 1. The following example defines a function that splits a string into an array of strings using the specified separator. After splitting the string, the function displays messages indicating the original string (before the split), the separator used, the number of elements in the array, and the individual array elements.
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)
This example produces the following output:
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 /
Example 2. Consider the following script:
<SCRIPT LANGUAGE="JavaScript1.2">
str="She sells seashells \nby the\n seashore"
document.write(str + "<BR>")
a=str.split(" ")
document.write(a)
</SCRIPT>
Using LANGUAGE="JavaScript1.2"
, this script produces
"She", "sells", "seashells", "by", "the", "seashore"
Without LANGUAGE="JavaScript1.2"
, this script splits only on single space characters, producing
"She", "sells", , , , "seashells", "by", , , "the", "seashore"
Example 3. In the following example, split
looks for 0 or more spaces followed by a semicolon followed by 0 or more spaces and, when found, removes the spaces from the string. nameList
is the array returned as a result of 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>
This prints two lines; the first line prints the original string, and the second line prints the resulting array.
Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand
Harry Trump,Fred Barney,Helen Rigby,Bill Abel,Chris Hand
Example 4. In the following example, split
looks for 0 or more spaces in a string and returns the first 3 splits that it finds.
<SCRIPT LANGUAGE="JavaScript1.2">
myVar = " Hello World. How are you doing? ";
splits = myVar.split(" ", 3);
document.write(splits)
</SCRIPT>
This script displays the following:
["Hello", "World.", "How"]
String.charAt
, String.indexOf
, String.lastIndexOf
Causes a string to be displayed as struck-out text, as if it were in a <STRIKE
> tag.
strike()
None
Use the strike
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to display the string.
The following example uses string
methods to change the formatting of a string:
var worldString="Hello, world"
document.write(worldString.blink())
document.write("<P>" + worldString.bold())
document.write("<P>" + worldString.italics())
document.write("<P>" + worldString.strike())
The previous example produces the same output as the following 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
Causes a string to be displayed as a subscript, as if it were in a <SUB
> tag.
sub()
None
Use the sub
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to generate the HTML.
The following example uses the sub
and sup
methods to format a string:
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.")
The previous example produces the same output as the following HTML:
This is what a <SUP>superscript</SUP> looks like.
<P>This is what a <SUB>subscript</SUB> looks like.
String.sup
Returns the characters in a string beginning at the specified location through the specified number of characters.
substr(start[, length])
start
is a character index. The index of the first character is 0, and the index of the last character is 1 less than the length of the string. substr
begins extracting characters at start
and collects length
number of characters.
If start
is positive and is the length of the string or longer, substr
returns no characters.
If start
is negative, substr
uses it as a character index from the end of the string. If start
is negative and abs(start)
is larger than the length of the string, substr
uses 0 is the start index.
If length
is 0 or negative, substr
returns no characters. If length
is omitted, start
extracts characters to the end of the string.
Consider the following script:
<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>
This script displays:
(1,2): bc
(-2,2): ij
(1): bcdefghij
(-20, 2): bcdefghij
(20, 2):
substring
Returns a subset of a String
object.
substring(indexA, indexB)
substring
extracts characters from indexA
up to but not including indexB
. In particular:
In JavaScript 1.2, using LANGUAGE="JavaScript1.2"
in the SCRIPT
tag,
In JavaScript 1.2, without LANGUAGE="JavaScript1.2"
in the SCRIPT
tag,
Example 1. The following example uses substring
to display characters from the string "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))
Example 2. The following example replaces a substring within a string. It will replace both individual characters and substrings. The function call at the end of the example changes the string "Brave New World"
into "Brave New Web"
.
function replaceString(oldS,newS,fullS) {
// Replaces oldS with newS in the 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")
Example 3. In JavaScript 1.2, using LANGUAGE="JavaScript1.2"
, the following script produces a runtime error (out of memory).
<SCRIPT LANGUAGE="JavaScript1.2">
str="Netscape"
document.write(str.substring(0,3);
document.write(str.substring(3,0);
</SCRIPT>
Without LANGUAGE="JavaScript1.2"
, the above script prints the following:
Net Net
In the second write
, the index numbers are swapped.
substr
Causes a string to be displayed as a superscript, as if it were in a <SUP
> tag.
sup()
None
Use the sup
method with the write
or writeln
methods to format and display a string in a document. In server-side JavaScript, use the write
function to generate the HTML.
The following example uses the sub
and sup
methods to format a string:
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.")
The previous example produces the same output as the following HTML:
This is what a <SUP>superscript</SUP> looks like.
<P>This is what a <SUB>subscript</SUB> looks like.
String.sub
Returns the calling string value converted to lowercase.
toLowerCase()
None
The toLowerCase
method returns the value of the string converted to lowercase. toLowerCase
does not affect the value of the string itself.
The following example displays the lowercase string "alphabet"
:
var upperText="ALPHABET"
document.write(upperText.toLowerCase())
String.toUpperCase
Returns a string representing the specified object.
toString()
None.
The String
object overrides the toString
method of the Object
object; it does not inherit Object.toString
. For String
objects, the toString
method returns a string representation of the object.
The following example displays the string value of a String object:
x = new String("Hello world");
alert(x.toString()) // Displays "Hello world"
Object.toString
Returns the calling string value converted to uppercase.
toUpperCase()
None
The toUpperCase
method returns the value of the string converted to uppercase. toUpperCase
does not affect the value of the string itself.
The following example displays the string "ALPHABET"
:
var lowerText="alphabet"
document.write(lowerText.toUpperCase())
String.toLowerCase
Returns the primitive value of a String object.
valueOf()
None
The valueOf
method of String
returns the primitive value of a String object as a string data type. This value is equivalent to String.toString
.
This method is usually called internally by JavaScript and not explicitly in code.
x = new String("Hello world");
alert(x.valueOf()) // Displays "Hello world"
String.toString
, Object.valueOf
Table of Contents | Previous
| Next
| Index
Last Updated: 11/13/98 10:23:55