Book Image

Object-Oriented JavaScript - Second Edition

Book Image

Object-Oriented JavaScript - Second Edition

Overview of this book

JavaScript is the behavior, the third pillar in today's paradigm that looks at web pages as something that consists of clearly distinguishable parts: content (HTML), presentation (CSS) and behavior (JavaScript). Using JavaScript, you can create not only web pages but also desktop widgets, browser and application extensions, and other pieces of software. It's a pretty good deal: you learn one language and then code all kinds of different applications. While there's one chapter specifically dedicated to the web browser environment including DOM, Events and AJAX tutorials, the rest is applicable to the other environments Many web developers have tried coding or adopting some bits of JavaScript, but it is time to "man up" and learn the language properly because it is the language of the browser and is, virtually, everywhere. This book starts from zero, not assuming any prior JavaScript programming knowledge and takes you through all the in-depth and exciting futures hidden behind the facade. Once listed in the "nice to have" sections of job postings, these days the knowledge of JavaScript is a deciding factor when it comes to hiring web developers. After reading this book you'll be prepared to ace your JavaScript job interview and even impress with some bits that the interviewer maybe didn't know. You should read this book if you want to be able to take your JavaScript skills to a new level of sophistication.
Table of Contents (19 chapters)
Object-Oriented JavaScript Second Edition
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Built-in Functions
Regular Expressions
Index

RegExp


You can create a regular expression object using the RegExp() constructor. You pass the expression pattern as the first parameter and the pattern modifiers as the second.

> var re = new RegExp('[dn]o+dle', 'gmi');

This matches "noodle", "doodle", "doooodle", and so on. It's equivalent to using the regular expression literal:

> var re = ('/[dn]o+dle/gmi'); // recommended

Chapter 4, Objects and Appendix D, Regular Expressions contains more information on regular expressions and patterns.

The RegExp.prototype members

Property/method

Description

global

Read-only. true if the g modifier was set when creating the regexp object.

ignoreCase

Read-only. true if the i modifier was set when creating the regexp object.

multiline

Read-only. true if the m modifier was set when creating the regexp object

lastIndex

Contains the position in the string where the next match should start. test() and exec() set this position after a successful match. Only relevant when the g (global) modifier was used.

> var re = /[dn]o+dle/g;
> re.lastIndex;
0
> re.exec("noodle doodle");
["noodle"]
> re.lastIndex;
6
> re.exec("noodle doodle");
["doodle"]
> re.lastIndex;
13
> re.exec("noodle doodle");
null
> re.lastIndex;
0

source

Read-only. Returns the regular expression pattern (without the modifiers).

> var re = /[nd]o+dle/gmi;
> re.source;
"[nd]o+dle"

exec(string)

Matches the input string with the regular expression. A successful match returns an array containing the match and any capturing groups. With the g modifier, it matches the first occurrence and sets the lastIndex property. Returns null when there's no match.

> var re = /([dn])(o+)dle/g;
> re.exec("noodle doodle");
["noodle", "n", "oo"]
> re.exec("noodle doodle");
["doodle", "d", "oo"]

The arrays returned by exec() have two additional properties: index (of the match) and input (the input string being searched).

test(string)

Same as exec() but only returns true or false.

> /noo/.test('Noodle');
false
> /noo/i.test('Noodle');
true