Pages

9 Oct 2013

Regular Expressions and RegExp Object

A regular expression is an object that describes a pattern of characters.
The JavaScript RegExp class represents regular expressions, and both String and RegExpdefine methods that use regular expressions to perform powerful pattern-matching and search-and-replace functions on text.

Syntax:

A regular expression could be defined with the RegExp( ) constructor like this:
var pattern = new RegExp(pattern, attributes);

or simply

var pattern = /pattern/attributes;
Here is the description of the parameters:
  • pattern: A string that specifies the pattern of the regular expression or another regular expression.
  • attributes: An optional string containing any of the "g", "i", and "m" attributes that specify global, case-insensitive, and multiline matches, respectively.

Brackets:

Brackets ([]) have a special meaning when used in the context of regular expressions. They are used to find a range of characters.
ExpressionDescription
[...]Any one character between the brackets.
[^...]Any one character not between the brackets.
[0-9]It matches any decimal digit from 0 through 9.
[a-z]It matches any character from lowercase a through lowercase z.
[A-Z]It matches any character from uppercase A through uppercase Z.
[a-Z]It matches any character from lowercase a through uppercase Z.
The ranges shown above are general; you could also use the range [0-3] to match any decimal digit ranging from 0 through 3, or the range [b-v] to match any lowercase character ranging from b through v.

Quantifiers:

The frequency or position of bracketed character sequences and single characters can be denoted by a special character. Each pecial character having a specific connotation. The +, *, ?, and $ flags all follow a character sequence.
ExpressionDescription
p+It matches any string containing at least one p.
p*It matches any string containing zero or more p's.
p?It matches any string containing one or more p's.
p{N}It matches any string containing a sequence of N p's
p{2,3}It matches any string containing a sequence of two or three p's.
p{2, }It matches any string containing a sequence of at least two p's.
p$It matches any string with p at the end of it.
^pIt matches any string with p at the beginning of it.

Examples:

Following examples will clear your concepts about matching chracters.
ExpressionDescription
[^a-zA-Z]It matches any string not containing any of the characters ranging from a through z and A through Z.
p.pIt matches any string containing p, followed by any character, in turn followed by another p.
^.{2}$It matches any string containing exactly two characters.
<b>(.*)</b>It matches any string enclosed within <b> and </b>.
p(hp)*It matches any string containing a p followed by zero or more instances of the sequence hp.

Literal characters:

CharacterDescription
AlphanumericItself
\0The NUL character (\u0000)
\tTab (\u0009)
\nNewline (\u000A)
\vVertical tab (\u000B)
\fForm feed (\u000C)
\rCarriage return (\u000D)
\xnnThe Latin character specified by the hexadecimal number nn; for example, \x0A is the same as \n
\uxxxxThe Unicode character specified by the hexadecimal number xxxx; for example, \u0009 is the same as \t
\cXThe control character ^X; for example, \cJ is equivalent to the newline character \n

Metacharacters

A metacharacter is simply an alphabetical character preceded by a backslash that acts to give the combination a special meaning.
For instance, you can search for large money sums using the '\d' metacharacter:/([\d]+)000/, Here \d will search for any string of numerical character.
Following is the list of metacharacters which can be used in PERL Style Regular Expressions.
Character  Description
.              a single character
\s             a whitespace character (space, tab, newline)
\S             non-whitespace character
\d             a digit (0-9)
\D             a non-digit
\w             a word character (a-z, A-Z, 0-9, _)
\W             a non-word character
[\b]           a literal backspace (special case).
[aeiou]        matches a single character in the given set
[^aeiou]       matches a single character outside the given set
(foo|bar|baz)  matches any of the alternatives specified

Modifiers

Several modifiers are available that can make your work with regexps much easier, like case sensitivity, searching in multiple lines etc.
ModifierDescription
iPerform case-insensitive matching.
mSpecifies that if the string has newline or carriage return characters, the ^ and $ operators will now match against a newline boundary, instead of a string boundary
gPerform a global matchthat is, find all matches rather than stopping after the first match.

RegExp Properties:

Here is a list of each property and their description.
PropertyDescription
constructorSpecifies the function that creates an object's prototype.
globalSpecifies if the "g" modifier is set.
ignoreCaseSpecifies if the "i" modifier is set.
lastIndexThe index at which to start the next match.
multilineSpecifies if the "m" modifier is set.
sourceThe text of the pattern.

RegExp Methods:

Here is a list of each method and its description.
MethodDescription
exec()Executes a search for a match in its string parameter.
test()Tests for a match in its string parameter.
toSource()Returns an object literal representing the specified object; you can use this value to create a new object.
toString()Returns a string representing the specified object.

Javascript - The Math Object

The math object provides you properties and methods for mathematical constants and functions.
Unlike the other global objects, Math is not a constructor. All properties and methods of Math are static and can be called by using Math as an object without creating it.
Thus, you refer to the constant pi as Math.PI and you call the sine function as Math.sin(x), where x is the method's argument.

Syntax:

Here is the simple syntax to call properties and methods of Math.
var pi_val = Math.PI;
var sine_val = Math.sin(30);

Math Properties:

Here is a list of each property and their description.
PropertyDescription
EEuler's constant and the base of natural logarithms, approximately 2.718.
LN2Natural logarithm of 2, approximately 0.693.
LN10Natural logarithm of 10, approximately 2.302.
LOG2EBase 2 logarithm of E, approximately 1.442.
LOG10EBase 10 logarithm of E, approximately 0.434.
PIRatio of the circumference of a circle to its diameter, approximately 3.14159.
SQRT1_2Square root of 1/2; equivalently, 1 over the square root of 2, approximately 0.707.
SQRT2Square root of 2, approximately 1.414.

Math Methods

Here is a list of each method and its description.
MethodDescription
abs()Returns the absolute value of a number.
acos()Returns the arccosine (in radians) of a number.
asin()Returns the arcsine (in radians) of a number.
atan()Returns the arctangent (in radians) of a number.
atan2()Returns the arctangent of the quotient of its arguments.
ceil()Returns the smallest integer greater than or equal to a number.
cos()Returns the cosine of a number.
exp()Returns EN, where N is the argument, and E is Euler's constant, the base of the natural logarithm.
floor()Returns the largest integer less than or equal to a number.
log()Returns the natural logarithm (base E) of a number.
max()Returns the largest of zero or more numbers.
min()Returns the smallest of zero or more numbers.
pow()Returns base to the exponent power, that is, base exponent.
random()Returns a pseudo-random number between 0 and 1.
round()Returns the value of a number rounded to the nearest integer.
sin()Returns the sine of a number.
sqrt()Returns the square root of a number.
tan()Returns the tangent of a number.
toSource()Returns the string "Math".

8 Oct 2013

JavaScript - The Date Object

The Date object is a datatype built into the JavaScript language. Date objects are created with the new Date( ) as shown below.
Once a Date object is created, a number of methods allow you to operate on it. Most methods simply allow you to get and set the year, month, day, hour, minute, second, and millisecond fields of the object, using either local time or UTC (universal, or GMT) time.
The ECMAScript standard requires the Date object to be able to represent any date and time, to millisecond precision, within 100 million days before or after 1/1/1970. This is a range of plus or minus 273,785 years, so the JavaScript is able to represent date and time till year 275755.

Syntax:

Here are different variant of Date() constructor:
new Date( )
new Date(milliseconds)
new Date(datestring)
new Date(year,month,date[,hour,minute,second,millisecond ])
Note: Paramters in the brackets are always optional
Here is the description of the parameters:
  • No Argument: With no arguments, the Date( ) constructor creates a Date object set to the current date and time.
  • milliseconds: When one numeric argument is passed, it is taken as the internal numeric representation of the date in milliseconds, as returned by the getTime( ) method. For example, passing the argument 5000 creates a date that represents five seconds past midnight on 1/1/70.
  • datestring:When one string argument is passed, it is a string representation of a date, in the format accepted by the Date.parse( ) method.
  • 7 agruments: To use the last form of constructor given above, Here is the description of each argument:
    1. year: Integer value representing the year. For compatibility (in order to avoid the Y2K problem), you should always specify the year in full; use 1998, rather than 98.
    2. month: Integer value representing the month, beginning with 0 for January to 11 for December.
    3. date: Integer value representing the day of the month.
    4. hour: Integer value representing the hour of the day (24-hour scale).
    5. minute: Integer value representing the minute segment of a time reading.
    6. second: Integer value representing the second segment of a time reading.
    7. millisecond: Integer value representing the millisecond segment of a time reading.

Date Properties:

Here is a list of each property and their description.
PropertyDescription
constructorSpecifies the function that creates an object's prototype.
prototypeThe prototype property allows you to add properties and methods to an object.

Date Methods:

Here is a list of each method and its description.
MethodDescription
Date()Returns today's date and time
getDate()Returns the day of the month for the specified date according to local time.
getDay()Returns the day of the week for the specified date according to local time.
getFullYear()Returns the year of the specified date according to local time.
getHours()Returns the hour in the specified date according to local time.
getMilliseconds()Returns the milliseconds in the specified date according to local time.
getMinutes()Returns the minutes in the specified date according to local time.
getMonth()Returns the month in the specified date according to local time.
getSeconds()Returns the seconds in the specified date according to local time.
getTime()Returns the numeric value of the specified date as the number of milliseconds since January 1, 1970, 00:00:00 UTC.
getTimezoneOffset()Returns the time-zone offset in minutes for the current locale.
getUTCDate()Returns the day (date) of the month in the specified date according to universal time.
getUTCDay()Returns the day of the week in the specified date according to universal time.
getUTCFullYear()Returns the year in the specified date according to universal time.
getUTCHours()Returns the hours in the specified date according to universal time.
getUTCMilliseconds()Returns the milliseconds in the specified date according to universal time.
getUTCMinutes()Returns the minutes in the specified date according to universal time.
getUTCMonth()Returns the month in the specified date according to universal time.
getUTCSeconds()Returns the seconds in the specified date according to universal time.
getYear()Deprecated - Returns the year in the specified date according to local time. Use getFullYear instead.
setDate()Sets the day of the month for a specified date according to local time.
setFullYear()Sets the full year for a specified date according to local time.
setHours()Sets the hours for a specified date according to local time.
setMilliseconds()Sets the milliseconds for a specified date according to local time.
setMinutes()Sets the minutes for a specified date according to local time.
setMonth()Sets the month for a specified date according to local time.
setSeconds()Sets the seconds for a specified date according to local time.
setTime()Sets the Date object to the time represented by a number of milliseconds since January 1, 1970, 00:00:00 UTC.
setUTCDate()Sets the day of the month for a specified date according to universal time.
setUTCFullYear()Sets the full year for a specified date according to universal time.
setUTCHours()Sets the hour for a specified date according to universal time.
setUTCMilliseconds()Sets the milliseconds for a specified date according to universal time.
setUTCMinutes()Sets the minutes for a specified date according to universal time.
setUTCMonth()Sets the month for a specified date according to universal time.
setUTCSeconds()Sets the seconds for a specified date according to universal time.
setYear()Deprecated - Sets the year for a specified date according to local time. Use setFullYear instead.
toDateString()Returns the "date" portion of the Date as a human-readable string.
toGMTString()Deprecated - Converts a date to a string, using the Internet GMT conventions. Use toUTCString instead.
toLocaleDateString()Returns the "date" portion of the Date as a string, using the current locale's conventions.
toLocaleFormat()Converts a date to a string, using a format string.
toLocaleString()Converts a date to a string, using the current locale's conventions.
toLocaleTimeString()Returns the "time" portion of the Date as a string, using the current locale's conventions.
toSource()Returns a string representing the source for an equivalent Date object; you can use this value to create a new object.
toString()Returns a string representing the specified Date object.
toTimeString()Returns the "time" portion of the Date as a human-readable string.
toUTCString()Converts a date to a string, using the universal time convention.
valueOf()Returns the primitive value of a Date object.

Date Static Methods:

In addition to the many instance methods listed previously, the Date object also defines two static methods. These methods are invoked through the Date( ) constructor itself:
MethodDescription
Date.parse( )Parses a string representation of a date and time and returns the internal millisecond representation of that date.
Date.UTC( )Returns the millisecond representation of the specified UTC date and time.

Javascript - The Arrays Object

The Array object let's you store multiple values in a single variable.

Syntax:

Creating a Array object:
var fruits = new Array( "apple", "orange", "mango" );
The Array parameter is a list of strings or integers. When you specify a single numeric parameter with the Array constructor, you specify the initial length of the array. The maximum length allowed for an array is 4,294,967,295.
You can create array by simply assigning values as follows:
var fruits = [ "apple", "orange", "mango" ];
You will use ordinal numbers to access and to set values inside an array as follows:
  • fruits[0] is the first element
  • fruits[1] is the second element
  • fruits[2] is the third element

Array Properties:

Here is a list of each property and their description.
PropertyDescription
constructorReturns a reference to the array function that created the object.
indexThe property represents the zero-based index of the match in the string
inputThis property is only present in arrays created by regular expression matches.
lengthReflects the number of elements in an array.
prototypeThe prototype property allows you to add properties and methods to an object.

Array Methods

Here is a list of each method and its description.
MethodDescription
concat()Returns a new array comprised of this array joined with other array(s) and/or value(s).
every()Returns true if every element in this array satisfies the provided testing function.
filter()Creates a new array with all of the elements of this array for which the provided filtering function returns true.
forEach()Calls a function for each element in the array.
indexOf()Returns the first (least) index of an element within the array equal to the specified value, or -1 if none is found.
join()Joins all elements of an array into a string.
lastIndexOf()Returns the last (greatest) index of an element within the array equal to the specified value, or -1 if none is found.
map()Creates a new array with the results of calling a provided function on every element in this array.
pop()Removes the last element from an array and returns that element.
push()Adds one or more elements to the end of an array and returns the new length of the array.
reduce()Apply a function simultaneously against two values of the array (from left-to-right) as to reduce it to a single value.
reduceRight()Apply a function simultaneously against two values of the array (from right-to-left) as to reduce it to a single value.
reverse()Reverses the order of the elements of an array -- the first becomes the last, and the last becomes the first.
shift()Removes the first element from an array and returns that element.
slice()Extracts a section of an array and returns a new array.
some()Returns true if at least one element in this array satisfies the provided testing function.
toSource()Represents the source code of an object
sort()Sorts the elements of an array.
splice()Adds and/or removes elements from an array.
toString()Returns a string representing the array and its elements.
unshift()Adds one or more elements to the front of an array and returns the new length of the array.

7 Oct 2013

Javascript - The String Object

The String object let's you work with a series of characters and wraps Javascript's string primitive data type with a number of helper methods.
Because Javascript automatically converts between string primitives and String objects, you can call any of the helper methods of the String object on a string primitive.

Syntax:

Creating a String object:
var val = new String(string);
The string parameter is series of characters that has been properly encoded.

String Properties:

Here is a list of each property and their description.
PropertyDescription
constructorReturns a reference to the String function that created the object.
lengthReturns the length of the string.
prototypeThe prototype property allows you to add properties and methods to an object.

String Methods

Here is a list of each method and its description.
MethodDescription
charAt()Returns the character at the specified index.
charCodeAt()Returns a number indicating the Unicode value of the character at the given index.
concat()Combines the text of two strings and returns a new string.
indexOf()Returns the index within the calling String object of the first occurrence of the specified value, or -1 if not found.
lastIndexOf()Returns the index within the calling String object of the last occurrence of the specified value, or -1 if not found.
localeCompare()Returns a number indicating whether a reference string comes before or after or is the same as the given string in sort order.
match()Used to match a regular expression against a string.
replace()Used to find a match between a regular expression and a string, and to replace the matched substring with a new substring.
search()Executes the search for a match between a regular expression and a specified string.
slice()Extracts a section of a string and returns a new string.
split()Splits a String object into an array of strings by separating the string into substrings.
substr()Returns the characters in a string beginning at the specified location through the specified number of characters.
substring()Returns the characters in a string between two indexes into the string.
toLocaleLowerCase()The characters within a string are converted to lower case while respecting the current locale.
toLocaleUpperCase()The characters within a string are converted to upper case while respecting the current locale.
toLowerCase()Returns the calling string value converted to lower case.
toString()Returns a string representing the specified object.
toUpperCase()Returns the calling string value converted to uppercase.
valueOf()Returns the primitive value of the specified object.

String HTML wrappers

Here is a list of each method which returns a copy of the string wrapped inside the appropriate HTML tag.
MethodDescription
anchor()Creates an HTML anchor that is used as a hypertext target.
big()Creates a string to be displayed in a big font as if it were in a <big> tag.
blink()Creates a string to blink as if it were in a <blink> tag.
bold()Creates a string to be displayed as bold as if it were in a <b> tag.
fixed()Causes a string to be displayed in fixed-pitch font as if it were in a <tt> tag
fontcolor()Causes a string to be displayed in the specified color as if it were in a <font color="color"> tag.
fontsize()Causes a string to be displayed in the specified font size as if it were in a <font size="size"> tag.
italics()Causes a string to be italic, as if it were in an <i> tag.
link()Creates an HTML hypertext link that requests another URL.
small()Causes a string to be displayed in a small font, as if it were in a <small> tag.
strike()Causes a string to be displayed as struck-out text, as if it were in a <strike> tag.
sub()Causes a string to be displayed as a subscript, as if it were in a <sub> tag
sup()Causes a string to be displayed as a superscript, as if it were in a <sup> tag

Javascript - The Boolean Object

The Boolean object represents two values either "true" or "false".

Syntax:

Creating a boolean object:
var val = new Boolean(value);
If value parameter is omitted or is 0, -0, null, false, NaN, undefined, or the empty string (""), the object has an initial value of false.

Boolean Properties:

Here is a list of each property and their description.
PropertyDescription
constructorReturns a reference to the Boolean function that created the object.
prototypeThe prototype property allows you to add properties and methods to an object.

Boolean Methods

Here is a list of each method and its description.
MethodDescription
toSource()Returns a string containing the source of the Boolean object; you can use this string to create an equivalent object.
toString()Returns a string of either "true" or "false" depending upon the value of the object.
valueOf()Returns the primitive value of the Boolean object.