Javascript Tutorial
What is JavaScript?
- JavaScript was designed to add
interactivity to HTML pages
- JavaScript is a scripting
language
- A scripting language is a
lightweight programming language
- A JavaScript consists of lines
of executable computer code
- A JavaScript is usually embedded
directly into HTML pages
- JavaScript is an interpreted
language (means that scripts execute without preliminary compilation)
- Everyone can use JavaScript
without purchasing a license
Are Java and JavaScript the Same?
NO!
Java and JavaScript are two
completely different languages in both concept and design!
Java (developed by Sun
Microsystems) is a powerful and much more complex programming language - in the
same category as C and C++.
What can a JavaScript Do?
- JavaScript
gives HTML designers a programming tool - HTML authors
are normally not programmers, but JavaScript is a scripting language with
a very simple syntax! Almost anyone can put small "snippets" of
code into their HTML pages
- JavaScript can
put dynamic text into an HTML page - A JavaScript statement like
this: document.write("<h1>" + name +
"</h1>") can write a variable text into an HTML page
- JavaScript can
react to events - A JavaScript can be set to execute when something
happens, like when a page has finished loading or when a user clicks on an
HTML element
- JavaScript can
read and write HTML elements - A JavaScript can read and change the
content of an HTML element
- JavaScript can
be used to validate data - A JavaScript can be used to validate
form data before it is submitted to a server. This saves the server from
extra processing
- JavaScript can
be used to detect the visitor's browser - A JavaScript can be used to
detect the visitor's browser, and - depending on the browser - load
another page specifically designed for that browser
- JavaScript can
be used to create cookies - A JavaScript can be used to store
and retrieve information on the visitor's computer
The Real Name is ECMAScript
JavaScript's official name is
"ECMAScript". The standard is developed and maintained by the ECMA organisation.
ECMA-262 is the official
JavaScript standard. The standard is based on JavaScript (Netscape) and JScript
(Microsoft).
The language was invented by
Brendan Eich at Netscape (with Navigator 2.0), and has appeared in all Netscape
and Microsoft browsers since 1996.
The development of ECMA-262
started in 1996, and the first edition of was adopted by the ECMA General
Assembly in June 1997.
The standard was approved as an
international ISO (ISO/IEC 16262) standard in 1998.
The development of the standard is
still in progress.
How to Put a JavaScript Into an HTML Page
<html> <body> <script type="text/javascript">
document.write("Hello World!");
</script>
</body> </html> |
The code above will produce this
output on an HTML page:
Hello World!
|
Example Explained
To insert a JavaScript into an
HTML page, we use the <script> tag. Inside the <script> tag we use
the "type=" attribute to define the scripting language.
So, the <script
type="text/javascript"> and </script> tells where the
JavaScript starts and ends:
<html> <body> <script type="text/javascript">
...
</script>
</body> </html> |
The word document.write is
a standard JavaScript command for writing output to a page.
By entering the document.write
command between the <script> and </script> tags, the browser will
recognize it as a JavaScript command and execute the code line. In this case
the browser will write Hello World! to the page:
<html> <body> <script type="text/javascript">
document.write("Hello World!");
</script>
</body> </html> |
Note: If we had not entered the <script>
tag, the browser would have treated the document.write("Hello
World!") command as pure text, and just write the entire line on the page.
HTML Comments to Handle Simple Browsers
Browsers that do not support
JavaScript will display JavaScript as page content.
To prevent them from doing this,
and as a part of the JavaScript standard, the HTML comment tag can be used to
"hide" the JavaScript. Just add an HTML comment tag <!-- before
the first JavaScript statement, and a --> (end of comment) after the last
JavaScript statement.
<html> <body>
<script type="text/javascript">
<!--
document.write("Hello World!");
//-->
</script>
</body> </html> |
The two forward slashes at the end
of comment line (//) is the JavaScript comment symbol. This prevents JavaScript
from executing the --> tag.
Where to Put the JavaScript
JavaScripts in a page will be
executed immediately while the page loads into the browser. This is not always
what we want. Sometimes we want to execute a script when a page loads, other
times when a user triggers an event.
Scripts in the head section: Scripts to be executed when they are
called, or when an event is triggered, go in the head section. When you place a
script in the head section, you will ensure that the script is loaded before
anyone uses it.
<html> <head> <script type="text/javascript">
....
</script> </head> |
Scripts in the body section: Scripts to be executed when the page loads
go in the body section. When you place a script in the body section it
generates the content of the page.
<html> <head> </head> <body> <script type="text/javascript">
....
</script> </body> |
Scripts in both the body and
the head section: You can
place an unlimited number of scripts in your document, so you can have scripts
in both the body and the head section.
<html> <head> <script type="text/javascript">
....
</script> </head> <body> <script type="text/javascript">
....
</script> </body> |
Using an External JavaScript
Sometimes you might want to run
the same JavaScript on several pages, without having to write the same script
on every page.
To simplify this, you can write a
JavaScript in an external file. Save the external JavaScript file with a .js
file extension.
Note: The external script cannot contain the
<script> tag!
To use the external script, point
to the .js file in the "src" attribute of the <script> tag:
<html> <head> <script src="xxx.js"></script> </head> <body> </body> </html> |
Note: Remember to place the script exactly where
you normally would write the script!
JavaScript Variables
As with algebra, JavaScript
variables are used to hold values or expressions.
A variable can have a short name,
like x, or a more describing name like length.
A JavaScript variable can also
hold a text value like in carname="Volvo".
Rules for JavaScript variable
names:
- Variable names are case
sensitive (y and Y are two different variables)
- Variable names must begin
with a letter or the underscore character
NOTE: Because JavaScript is
case-sensitive, variable names are case-sensitive.
Example
A variable's value can change
during the execution of a script. You can refer to a variable by its name to
display or change its value.
Declaring (Creating) JavaScript Variables
Creating variables in JavaScript
is most often referred to as "declaring" variables.
You can declare JavaScript
variables with the var statement:
var x; var carname; |
After the declaration shown above,
the variables has no values, but you can assign values to the variables while
you declare them:
var x=5; var carname="Volvo"; |
Note: When you assign a text value to a
variable, you use quotes around the value.
Assigning Values to JavaScript Variables
You assign values to JavaScript
variables with assignment statements:
x=5; carname="Volvo"; |
The variable name is on the left
side of the = sign, and the value you want to assign to the variable is on the
right.
After the execution of the
statements above, the variable x will hold the value 5, and carname
will hold the value Volvo.
Assigning Values to Undeclared JavaScript
Variables
If you assign values to variables
that has not yet been declared, the variables will automatically be declared.
These statements:
x=5; carname="Volvo"; |
have the same effect as:
var x=5; var carname="Volvo"; |
Redeclaring JavaScript Variables
If you redeclare a JavaScript
variable, it will not lose its original value.
var x=5; var x; |
After the execution of the
statements above, the variable x will still have the value of 5. The value of x
is not reset (or cleared) when you redeclare it.
JavaScript Arithmetic
As with algebra, you can do
arithmetic with JavaScript variables:
y=x-5; z=y+5; |
You will learn more about the
operators that can be used between JavaScript variables in the next chapter of
this tutorial.
Conditional Statements
Very often when you write code,
you want to perform different actions for different decisions. You can use
conditional statements in your code to do this.
In JavaScript we have the
following conditional statements:
- if statement - use this
statement if you want to execute some code only if a specified condition
is true
- if...else
statement
- use this statement if you want to execute some code if the condition is
true and another code if the condition is false
- if...else
if....else statement - use this statement if you want to select one of
many blocks of code to be executed
- switch statement - use this
statement if you want to select one of many blocks of code to be executed
If Statement
You should use the if statement if
you want to execute some code only if a specified condition is true.
Syntax
if (condition) { code to be executed if condition is true } |
Note that if is written in
lowercase letters. Using uppercase letters (IF) will generate a JavaScript
error!
Example 1
<script type="text/javascript"> //Write a "Good morning" greeting if //the time is less than 10 var d=new Date(); var time=d.getHours(); if (time<10) { document.write("<b>Good morning</b>"); } </script> |
Example 2
<script type="text/javascript"> //Write "Lunch-time!" if the time is 11 var d=new Date(); var time=d.getHours(); if (time==11) { document.write("<b>Lunch-time!</b>"); } </script> |
Note: When comparing variables you must
always use two equals signs next to each other (==)!
Notice that there is no ..else..
in this syntax. You just tell the code to execute some code only if the
specified condition is true.
If...else Statement
If you want to execute some code
if a condition is true and another code if the condition is not true, use the
if....else statement.
Syntax
if (condition) { code to be executed if condition is true } else { code to be executed if condition is not true } |
Example
<script type="text/javascript"> //If the time is less than 10, //you will get a "Good morning" greeting. //Otherwise you will get a "Good day" greeting. var d = new Date(); var time = d.getHours(); if (time < 10) { document.write("Good morning!"); } else { document.write("Good day!"); } </script> |
If...else if...else Statement
You should use the if....else
if...else statement if you want to select one of many sets of lines to execute.
Syntax
if (condition1) { code to be executed if condition1 is true } else if (condition2) { code to be executed if condition2 is true } else { code to be executed if condition1 and condition2 are not true } |
Example
<script type="text/javascript"> var d = new Date() var time = d.getHours() if (time<10) { document.write("<b>Good morning</b>"); } else if (time>10 && time<16) { document.write("<b>Good day</b>"); } else { document.write("<b>Hello World!</b>"); } </script> |
The JavaScript Switch Statement
You should use the switch statement
if you want to select one of many blocks of code to be executed.
Syntax
switch(n) { case 1: execute code block 1 break; case 2: execute code block 2 break; default: code to be executed if n is different from case 1 and 2 } |
This is how it works: First we
have a single expression n (most often a variable), that is evaluated
once. The value of the expression is then compared with the values for each
case in the structure. If there is a match, the block of code associated with
that case is executed. Use break to prevent the code from running into
the next case automatically.
Example
<script type="text/javascript"> //You will receive a different greeting based //on what day it is. Note that Sunday=0, //Monday=1, Tuesday=2, etc. var d=new Date(); theDay=d.getDay(); switch (theDay) { case 5: document.write("Finally Friday"); break; case 6: document.write("Super Saturday"); break; case 0: document.write("Sleepy Sunday"); break; default: document.write("I'm looking forward to this weekend!"); } </script> |
Alert Box
An alert box is often used if you
want to make sure information comes through to the user.
When an alert box pops up, the
user will have to click "OK" to proceed.
Syntax:
alert("sometext"); |
Confirm Box
A confirm box is often used if you
want the user to verify or accept something.
When a confirm box pops up, the
user will have to click either "OK" or "Cancel" to proceed.
If the user clicks "OK",
the box returns true. If the user clicks "Cancel", the box returns
false.
Syntax:
confirm("sometext"); |
Prompt Box
A prompt box is often used if you
want the user to input a value before entering a page.
When a prompt box pops up, the
user will have to click either "OK" or "Cancel" to proceed
after entering an input value.
If the user clicks "OK"
the box returns the input value. If the user clicks "Cancel" the box
returns null.
Syntax:
prompt("sometext","defaultvalue"); |
JavaScript Functions
To keep the browser from executing
a script when the page loads, you can put your script into a function.
A function contains code that will
be executed by an event or by a call to that function.
You may call a function from
anywhere within the page (or even from other pages if the function is embedded
in an external .js file).
Functions can be defined both in
the <head> and in the <body> section of a document. However, to
assure that the function is read/loaded by the browser before it is called, it
could be wise to put it in the <head> section.
Example
<html> <head> <script type="text/javascript"> function displaymessage() { alert("Hello World!"); } </script> </head> <body> <form> <input type="button" value="Click me!" onclick="displaymessage()" > </form> </body> </html> |
If the line: alert("Hello world!!") in the example above had not been
put within a function, it would have been executed as soon as the line was
loaded. Now, the script is not executed before the user hits the button. We
have added an onClick event to the button that will execute the function
displaymessage() when the button is clicked.
You will learn more about
JavaScript events in the JS Events chapter.
JavaScript Loops
Very often when you write code,
you want the same block of code to run over and over again in a row. Instead of
adding several almost equal lines in a script we can use loops to perform a
task like this.
In JavaScript there are two
different kind of loops:
- for - loops through
a block of code a specified number of times
- while - loops through
a block of code while a specified condition is true
The for Loop
The for loop is used when you know
in advance how many times the script should run.
Syntax
for (var=startvalue;var<=endvalue;var=var+increment) { code to be executed } |
Example
Explanation: The example below
defines a loop that starts with i=0. The loop will continue to run as long as i
is less than, or equal to 10. i will increase by 1 each time the loop
runs.
Note: The increment parameter could also be
negative, and the <= could be any comparing statement.
<html> <body> <script type="text/javascript"> var i=0; for (i=0;i<=10;i++) { document.write("The number is " + i); document.write("<br />"); } </script> </body> </html> |
Result
The number is 0 The number is 1 The number is 2 The number is 3 The number is 4 The number is 5 The number is 6 The number is 7 The number is 8 The number is 9 The number is 10 |
The while loop
The while loop is used when you
want the loop to execute and continue executing while the specified condition
is true.
while (var<=endvalue) { code to be executed } |
Note: The <= could be any comparing
statement.
Example
Explanation: The example below
defines a loop that starts with i=0. The loop will continue to run as long as i
is less than, or equal to 10. i will increase by 1 each time the loop
runs.
<html> <body> <script type="text/javascript"> var i=0; while (i<=10) { document.write("The number is " + i); document.write("<br />"); i=i+1; } </script> </body> </html> |
Result
The number is 0 The number is 1 The number is 2 The number is 3 The number is 4 The number is 5 The number is 6 The number is 7 The number is 8 The number is 9 The number is 10 |
The do...while Loop
The do...while loop is a variant
of the while loop. This loop will always execute a block of code ONCE, and then
it will repeat the loop as long as the specified condition is true. This loop
will always be executed at least once, even if the condition is false, because
the code is executed before the condition is tested.
do { code to be executed } while (var<=endvalue); |
Example
<html> <body> <script type="text/javascript"> var i=0; do { document.write("The number is " + i); document.write("<br />"); i=i+1; } while (i<0); </script> </body> </html> |
Result
The number is 0 |
JavaScript break and continue Statements
There are two special statements
that can be used inside loops: break and continue.
Break
The break command will break the
loop and continue executing the code that follows after the loop (if any).
Example
<html> <body> <script type="text/javascript"> var i=0; for (i=0;i<=10;i++) { if (i==3) { break; } document.write("The number is " + i); document.write("<br />"); } </script> </body> </html> |
Result
The number is 0 The number is 1 The number is 2 |
Continue
The continue command will break
the current loop and continue with the next value.
Example
<html> <body> <script type="text/javascript"> var i=0 for (i=0;i<=10;i++) { if (i==3) { continue; } document.write("The number is " + i); document.write("<br />"); } </script> </body> </html> |
Result
The number is 0 The number is 1 The number is 2 The number is 4 The number is 5 The number is 6 The number is 7 The number is 8 The number is 9 The number is 10 |
Events
By using JavaScript, we have the
ability to create dynamic web pages. Events are actions that can be detected by
JavaScript.
Every element on a web page has
certain events which can trigger JavaScript functions. For example, we can use
the onClick event of a button element to indicate that a function will run when
a user clicks on the button. We define the events in the HTML tags.
Examples of events:
- A mouse click
- A web page or
an image loading
- Mousing over a
hot spot on the web page
- Selecting an
input box in an HTML form
- Submitting an
HTML form
- A keystroke
Note: Events are normally used in combination
with functions, and the function will not be executed before the event occurs!
For a complete reference of the
events recognized by JavaScript, go to our complete Event reference.
onload and onUnload
The onload and onUnload events are
triggered when the user enters or leaves the page.
The onload event is often used to
check the visitor's browser type and browser version, and load the proper
version of the web page based on the information.
Both the onload and onUnload
events are also often used to deal with cookies that should be set when a user
enters or leaves a page. For example, you could have a popup asking for the
user's name upon his first arrival to your page. The name is then stored in a
cookie. Next time the visitor arrives at your page, you could have another
popup saying something like: "Welcome John Doe!".
onFocus, onBlur and onChange
The onFocus, onBlur and onChange
events are often used in combination with validation of form fields.
Below is an example of how to use
the onChange event. The checkEmail() function will be called whenever the user
changes the content of the field:
<input type="text" size="30" id="email" onchange="checkEmail()"> |
onSubmit
The onSubmit event is used to
validate ALL form fields before submitting it.
Below is an example of how to use
the onSubmit event. The checkForm() function will be called when the user
clicks the submit button in the form. If the field values are not accepted, the
submit should be cancelled. The function checkForm() returns either true or
false. If it returns true the form will be submitted, otherwise the submit will
be cancelled:
<form method="post" action="xxx.htm" onsubmit="return checkForm()"> |
onMouseOver and onMouseOut
onMouseOver and onMouseOut are
often used to create "animated" buttons.
Below is an example of an
onMouseOver event. An alert box appears when an onMouseOver event is detected:
<a href="http://www.w3schools.com" onmouseover="alert('An onMouseOver event');return false"> <img src="w3schools.gif" width="100" height="30"> </a> |
Object Oriented Programming
JavaScript is an Object Oriented
Programming (OOP) language. An OOP language allows you to define your own
objects and make your own variable types.
However, creating your own objects
will be explained later, in the Advanced JavaScript section. We will start by
looking at the built-in JavaScript objects, and how they are used. The next
pages will explain each built-in JavaScript object in detail.
Note that an object is just a
special kind of data. An object has properties and methods.
Properties
Properties are the values associated
with an object.
In the following example we are
using the length property of the String object to return the number of
characters in a string:
<script type="text/javascript"> var txt="Hello World!"; document.write(txt.length); </script> |
The output of the code above will
be:
12 |
Methods
Methods are the actions that can
be performed on objects.
In the following example we are
using the toUpperCase() method of the String object to display a text in
uppercase letters:
<script type="text/javascript"> var str="Hello world!"; document.write(str.toUpperCase()); </script> |
The output of the code above will
be:
HELLO WORLD! |
String object methods
Method
|
Description
|
FF
|
N
|
IE
|
Creates an HTML anchor
|
1
|
2
|
3
|
|
Displays a string in a big font
|
1
|
2
|
3
|
|
Displays a blinking string
|
1
|
2
|
|
|
Displays a string in bold
|
1
|
2
|
3
|
|
Returns the character at a specified position
|
1
|
2
|
3
|
|
Returns the Unicode of the character at a specified position
|
1
|
4
|
4
|
|
Joins two or more strings
|
1
|
4
|
4
|
|
Displays a string as teletype text
|
1
|
2
|
3
|
|
Displays a string in a specified color
|
1
|
2
|
3
|
|
Displays a string in a specified size
|
1
|
2
|
3
|
|
Takes the specified Unicode values and returns a string
|
1
|
4
|
4
|
|
Returns the position of the first occurrence of a specified
string value in a string
|
1
|
2
|
3
|
|
Displays a string in italic
|
1
|
2
|
3
|
|
Returns the position of the last occurrence of a specified
string value, searching backwards from the specified position in a string
|
1
|
2
|
3
|
|
Displays a string as a hyperlink
|
1
|
2
|
3
|
|
Searches for a specified value in a string
|
1
|
4
|
4
|
|
Replaces some characters with some other characters in a string
|
1
|
4
|
4
|
|
Searches a string for a specified value
|
1
|
4
|
4
|
|
Extracts a part of a string and returns the extracted part in a
new string
|
1
|
4
|
4
|
|
Displays a string in a small font
|
1
|
2
|
3
|
|
Splits a string into an array of strings
|
1
|
4
|
4
|
|
Displays a string with a strikethrough
|
1
|
2
|
3
|
|
Displays a string as subscript
|
1
|
2
|
3
|
|
Extracts a specified number of characters in a string, from a start
index
|
1
|
4
|
4
|
|
Extracts the characters in a string between two specified
indices
|
1
|
2
|
3
|
|
Displays a string as superscript
|
1
|
2
|
3
|
|
Displays a string in lowercase letters
|
1
|
2
|
3
|
|
Displays a string in uppercase letters
|
1
|
2
|
3
|
|
Represents the source code of an object
|
1
|
4
|
-
|
|
Returns the primitive value of a String object
|
1
|
2
|
4
|
String Object Properties
Property
|
Description
|
FF
|
N
|
IE
|
A reference to the function that created the object
|
1
|
4
|
4
|
|
Returns the number of characters in a string
|
1
|
2
|
3
|
|
Allows you to add properties and methods to the object
|
1
|
2
|
4
|
JavaScript Date Object
Reference
Date Object Methods
FF: Firefox, N: Netscape, IE:
Internet Explorer
Method
|
Description
|
FF
|
N
|
IE
|
Returns today's date and time
|
1
|
2
|
3
|
|
Returns the day of the month from a Date object (from 1-31)
|
1
|
2
|
3
|
|
Returns the day of the week from a Date object (from 0-6)
|
1
|
2
|
3
|
|
Returns the month from a Date object (from 0-11)
|
1
|
2
|
3
|
|
Returns the year, as a four-digit number, from a Date object
|
1
|
4
|
4
|
|
Returns the year, as a two-digit or a three/four-digit number,
depending on the browser. Use getFullYear() instead !!
|
1
|
2
|
3
|
|
Returns the hour of a Date object (from 0-23)
|
1
|
2
|
3
|
|
Returns the minutes of a Date object (from 0-59)
|
1
|
2
|
3
|
|
Returns the seconds of a Date object (from 0-59)
|
1
|
2
|
3
|
|
Returns the milliseconds of a Date object (from 0-999)
|
1
|
4
|
4
|
|
Returns the number of milliseconds since
|
1
|
2
|
3
|
|
Returns the difference in minutes between local time and
Greenwich Mean Time (GMT)
|
1
|
2
|
3
|
|
Returns the day of the month from a Date object according to
universal time (from 1-31)
|
1
|
4
|
4
|
|
Returns the day of the week from a Date object according to
universal time (from 0-6)
|
1
|
4
|
4
|
|
Returns the month from a Date object according to universal time
(from 0-11)
|
1
|
4
|
4
|
|
Returns the four-digit year from a Date object according to universal
time
|
1
|
4
|
4
|
|
Returns the hour of a Date object according to universal time
(from 0-23)
|
1
|
4
|
4
|
|
Returns the minutes of a Date object according to universal time
(from 0-59)
|
1
|
4
|
4
|
|
Returns the seconds of a Date object according to universal time
(from 0-59)
|
1
|
4
|
4
|
|
Returns the milliseconds of a Date object according to universal
time (from 0-999)
|
1
|
4
|
4
|
|
Takes a date string and returns the number of milliseconds since
|
1
|
2
|
3
|
|
Sets the day of the month in a Date object (from 1-31)
|
1
|
2
|
3
|
|
Sets the month in a Date object (from 0-11)
|
1
|
2
|
3
|
|
Sets the year in a Date object (four digits)
|
1
|
4
|
4
|
|
Sets the year in the Date object (two or four digits). Use
setFullYear() instead !!
|
1
|
2
|
3
|
|
Sets the hour in a Date object (from 0-23)
|
1
|
2
|
3
|
|
Set the minutes in a Date object (from 0-59)
|
1
|
2
|
3
|
|
Sets the seconds in a Date object (from 0-59)
|
1
|
2
|
3
|
|
Sets the milliseconds in a Date object (from 0-999)
|
1
|
4
|
4
|
|
Calculates a date and time by adding or subtracting a specified
number of milliseconds to/from
|
1
|
2
|
3
|
|
Sets the day of the month in a Date object according to
universal time (from 1-31)
|
1
|
4
|
4
|
|
Sets the month in a Date object according to universal time
(from 0-11)
|
1
|
4
|
4
|
|
Sets the year in a Date object according to universal time (four
digits)
|
1
|
4
|
4
|
|
Sets the hour in a Date object according to universal time (from
0-23)
|
1
|
4
|
4
|
|
Set the minutes in a Date object according to universal time
(from 0-59)
|
1
|
4
|
4
|
|
Set the seconds in a Date object according to universal time
(from 0-59)
|
1
|
4
|
4
|
|
Sets the milliseconds in a Date object according to universal
time (from 0-999)
|
1
|
4
|
4
|
|
Represents the source code of an object
|
1
|
4
|
-
|
|
Converts a Date object to a string
|
1
|
2
|
4
|
|
Converts a Date object, according to Greenwich time, to a
string. Use toUTCString() instead !!
|
1
|
2
|
3
|
|
Converts a Date object, according to universal time, to a string
|
1
|
4
|
4
|
|
Converts a Date object, according to local time, to a string
|
1
|
2
|
3
|
|
Takes a date and returns the number of milliseconds since
|
1
|
2
|
3
|
|
Returns the primitive value of a Date object
|
1
|
2
|
4
|
Date Object Properties
Property
|
Description
|
FF
|
N
|
IE
|
A reference to the function that created the object
|
1
|
4
|
4
|
|
Allows you to add properties and methods to the object
|
|
|
|
JavaScript RegExp Object
The RegExp object is used to
specify what to search for in a text
What is RegExp
RegExp, is short for regular
expression.
When you search in a text, you can
use a pattern to describe what you are searching for. RegExp IS this
pattern.
A simple pattern can be a single character.
A more complicated pattern
consists of more characters, and can be used for parsing, format checking,
substitution and more.
You can specify where in the
string to search, what type of characters to search for, and more.
Defining RegExp
The RegExp object is used to store
the search pattern.
We define a RegExp object with the
new keyword. The following code line defines a RegExp object called
patt1 with the pattern "e":
var patt1=new RegExp("e"); |
When you use this RegExp object to
search in a string, you will find the letter "e".
Methods of the RegExp Object
The RegExp Object has 3 methods:
test(), exec(), and compile().
test()
The test() method searches a
string for a specified value. Returns true or false
Example:
var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); |
Since there is an "e" in
the string, the output of the code above will be:
true |
exec()
The exec() method searches a
string for a specified value. Returns the text of the found value. If no match
is found, it returns null
Example 1:
var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free")); |
Since there is an "e" in
the string, the output of the code above will be:
e |
Example 2:
You can add a second parameter to
the RegExp object, to specify your search. For example; if you want to find all
occurrences of a character, you can use the "g" parameter
("global").
For a complete list of how to
modify your search, visit our complete RegExp object reference.
When using the "g"
parameter, the exec() method works like this:
- Finds the first
occurence of "e", and stores its position
- If you run
exec() again, it starts at the stored position, and finds the next
occurence of "e", and stores its position
var patt1=new RegExp("e","g"); do { result=patt1.exec("The best things in life are free"); document.write(result); } while (result!=null) |
Since there is six "e"
letters in the string, the output of the code above will be:
eeeeeenull |
compile()
The compile() method is used to
change the RegExp.
compile() can change both the
search pattern, and add or remove the second parameter.
Example:
var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); patt1.compile("d"); document.write(patt1.test("The best things in life are free")); |
Since there is an "e" in
the string, but not a "d", the output of the code above will be:
truefalse |
Complete RegExp Object Reference
For a complete reference of all
the properties and methods that can be used with the RegExp object, go to our complete RegExp object reference.
The reference contains a brief
description and examples of use for each property and method including the
string object
Java script objects
Date
String
Array
Boolean
Math
RegExp
0 comments:
Post a Comment