Javascript教學
JavaScript語法
在瀏覽器中啓用JavaScript
在HTML文件放置JavaScript
JavaScript變量和數據類型
JavaScript運算符
JavaScript if...else語句
JavaScript Switch Case
JavaScript while循環
JavaScript for循環
JavaScript for...in 循環
JavaScript循環控制
JavaScript函數
JavaScript嵌套函數
JavaScript Function() 構造
JavaScript函數字面值
JavaScript事件
JavaScript Cookies
JavaScript頁面重定向
JavaScript頁面刷新
JavaScript對話框
JavaScript void關鍵詞
Javascript頁面打印
JavaScript對象
Javascript Number對象
Javascript Number.MAX_VALUE
Javascript Number.MIN_VALUE
Javascript Number.NaN
Javascript Number.NEGATIVE_INFINITY
Javascript Number.POSITIVE_INFINITY
Javascript Object.prototype
Javascript Boolean對象
JavaScript Boolean.constructor()方法
Javascript Boolean.toSource()方法
Javascript Boolean.toString()方法
Javascript Boolean.valueOf()方法
Javascript String對象
Javascript String.constructor屬性
Javascript String.length屬性
Javascript String.charAt()方法
Javascript String.charCodeAt()方法
Javascript String.concat()方法
Javascript String.lastIndexOf()方法
Javascript String.localeCompare()方法
Javascript String.match()方法
Javascript String.replace()方法
Javascript String.search()方法
Javascript String.slice()方法
Javascript String.substr()方法
Javascript String.substring()方法
Javascript String.toLocaleLowerCase()方法
Javascript String.toLocaleUpperCase()方法
Javascript String.toLowerCase()方法
Javascript String.toString()方法
Javascript String.toUpperCase()方法
Javascript String.valueOf()方法
Javascript String.anchor()方法
Javascript String.big()方法
Javascript String.blink()方法
Javascript String.bold()方法
Javascript String.fixed()方法
Javascript String.fontcolor()方法
Javascript String.fontsize()方法
Javascript String.italics()方法
Javascript String.link()方法
Javascript String.small()方法
Javascript String.strike()方法
Javascript String.sub()方法
Javascript String.sup()方法
Javascript Arrays對象
Javascript Array.constructor屬性
Javascript Array.length屬性
Javascript Array.concat()方法
Javascript Array.every()方法
Javascript Array.filter()方法
JavaScript Array.forEach()方法
Javascript Array.indexOf()方法
Javascript Array.join()方法
Javascript Array.lastIndexOf()方法
Javascript Array.map()方法
Javascript Array.pop()方法
Javascript Array.push()方法
Javascript Array.reduce()方法
Javascript Array.reduceRight()方法
Javascript Array.reverse()方法
Javascript Array.shift()方法
Javascript Array.slice()方法
Javascript Array.some()方法
Javascript Array.toSource()方法
Javascript Array.sort()方法
Javascript Array.splice()方法
Javascript Array.toString()方法
Javascript Array.unshift()方法
JavaScript Date對象
Javascript Date.constructor屬性
Javascript Date()函數
Javascript Date.getDate()方法
Javascript Date.getDay()方法
Javascript Date.getFullYear()方法
Javascript Date.getHours()方法
Javascript Date.getMilliseconds()方法
Javascript Date.getMinutes()方法
Javascript Date.getMonth()方法
Javascript Date.getSeconds()方法
Javascript Date.getTime()方法
Javascript Date.getTimezoneOffset()方法
Javascript Date.getUTCDate()方法
Javascript Date.getUTCDay()方法
Javascript Date.getUTCFullYear()方法
Javascript Date.getUTCHours()方法
Javascript Date.getUTCMinutes()方法
Javascript Date.getUTCMonth()方法
Javascript Date.getUTCSeconds()方法
Javascript Date.getYear()方法
Javascript Date.setDate()方法
Javascript Date.setFullYear()方法
Javascript Date.setHours()方法
Javascript Date.setMilliseconds()方法
Javascript Date.getUTCMilliseconds()方法
Javascript Date.setMinutes()方法
Javascript Date.setMonth()方法
Javascript Date.setSeconds()方法
Javascript Date.setTime()方法
Javascript Date.setUTCDate()方法
Javascript Date.setUTCFullYear()方法
Javascript Date.setUTCHours()方法
Javascript Date setUTCMilliseconds()方法
Javascript Date.setUTCMinutes()方法
Javascript Date.setUTCSeconds()方法
Javascript Date.setYear()方法
Javascript Date.toDateString()方法
Javascript Date.toLocaleDateString()方法
Javascript Date.toSource()方法
Javascript Date.toString()方法
Javascript Date.toTimeString()方法
Javascript Date.toUTCString()方法
Javascript Date.valueOf()方法
Javascript Date.parse()方法
Javascript Date.UTC()方法
Javascript Math對象
Javascript Math.E屬性
Javascript Math.LN2屬性
Javascript Math.LN10屬性
Javascript Math.LOG2E,屬性
Javascript Math.LOG10E屬性
Javascript Math.PI屬性
Javascript Math.SQRT1_2屬性
Javascript Math.SQRT2屬性
Javascript Math.abs()方法
Javascript Math.acos()方法
Javascript Math.asin()方法
Javascript Math.atan()方法
Javascript Math.atan2()方法
Javascript Math.ceil()方法
Javascript Math.cos()方法
Javascript Math.exp()方法
Javascript Math.floor()方法
Javascript Math.log()方法
Javascript Math.max()方法
Javascript Math.min()方法
Javascript Math.pow()方法
Javascript Math.random()方法
Javascript Math.round()方法
Javascript Math.sin()方法
Javascript Math.sqrt()方法
Javascript Math.tan()方法
Javascript Math.toSource()方法
正則表達式和RegExp對象
Javascript RegExp.constructor屬性
Javascript RegExp.global屬性
Javascript RegExp.ignoreCase屬性
Javascript RegExp.lastIndex屬性
Javascript RegExp.multiline屬性
Javascript RegExp.source屬性
Javascript RegExp.exec()方法
Javascript RegExp.test()方法
Javascript RegExp.toSource()方法
Javascript RegExp.toString()方法
JavaScript文檔對象模型或DOM
JavaScript傳統DOM
JavaScript W3C DOM
JavaScript IE4 DOM
JavaScript錯誤和異常處理
JavaScript表單驗證
JavaScript動畫
Javascript多媒體

正則表達式和RegExp對象

正則表達式是一個對象,它描述了字符模式。

JavaScript的RegExp類表示正則表達式和字符串和正則表達式定義,使用正則表達式來進行強大的模式匹配和搜索和替換文本功能的方法。

語法:

正則表達式可以用RegExp( ) 構造這樣的定義:

var pattern = new RegExp(pattern, attributes);

or simply

var pattern = /pattern/attributes;

這裏是參數的說明:

  • pattern: 一個字符串,指定正則表達式或其他正則表達式的模式。

  • attributes: 包含任何 "g", "i", 和"m" 屬性指定全局,分別一個可選的字符串,不區分大小寫和匹配。

括號:

在正則表達式的上下文中使用時,括號([])具有特殊的意義。它們被用於查找字符的範圍。

表達式

描述

[...]

在括號之間的任何一個字符

[^...]

任何一個字符不是括號之間

[0-9]

它匹配從0到9任意十進制數

[a-z]

它匹配由小寫a到小寫 z的任何字符。

[A-Z]

它通過匹配的大寫字母A-Z的任何字符

[a-Z]

它通過匹配從小寫到大寫Z的一個任意字符

上面顯示的範圍是一般的;你也可以使用的範圍[0-3],通過3從0匹配任何十進制數, 或範圍[b-v]匹配任何小寫字母,從b至v

限定符:

頻率或方括號內的字符序列與單個字符的位置可以通過一個特殊的字符來表示。每個特殊字符具有特定的內涵。在+, *, ?, 和$標誌都遵循一個字符序列。

表達式

描述

p+

它包含至少一個任意字符串匹配

p*

它包含零個或多個的任意字符串匹配

p?

它包含一個或多個的任意字符串匹配

p{N}

它含有N個p序列的字符串匹配

p{2,3}

它包含兩個或三個的序列的字符串匹配

p{2, }

它至少包含兩個p的序列匹配任何字符串

p$

它在它的結束與對任何字符串匹配

^p

它在它的開始與對任何字符串匹配

示例:

下面的例子將清除有關匹配字符的概念。

Expression

描述

[^a-zA-Z]

任何字符串不包含任何從a到Z. Z和A上的字符匹配

p.p

它包含p任意字符串,然後是任意字符依次匹配

^.{2}$

它正好包含兩個字符的任意字符串匹配

(.*)

和</ b>括起的任何字符串的匹配

p(hp)*

它匹配任何含字符串ap後跟序列hp的零個或多個實例

Literal characters:

字符

描述

字母數字

它自己

\0

NUL 字符 (\u0000)

\t

製表符 (\u0009)

\n

新行(\u000A)

\v

垂直選項卡 (\u000B)

\f

換頁 (\u000C)

\r

回車 (\u000D)

\xnn

由十六進制數字nn指定的拉丁字符; 例如,\ x0A相同睛\n

\uxxxx

由十六進制數xxxx指定的Unicode字符;例如,\u0009和\t是一樣的

\cX

控制字符^X;例如,\cJ的等同於換行符\n

元字符

元字符僅僅是前面加一個反斜槓,其作用是讓組合有特殊含義的字母字符。

例如,可以使用'\d'元字符搜索大的貨幣總額:/([\d]+)000/,這裏\d將搜索數字字符的任意字符串。

以下是元字符,可以在Perl風格的正則表達式中使用的列表。

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

修飾符

幾個修飾符是可用,可以使工作與正則表達式要容易得多,比如大小寫,在搜索多行等。

Modifier

描述

i

執行不區分大小寫的匹配

m

規定,如果字符串有換行或回車符,^和$運算符現在可以匹配,而不是一個字符串邊界對一個換行符邊界

g

執行一個全局匹配就是找到所有匹配,而不是在第一個匹配項後停止。

RegExp 屬性:

這裏是每個屬性和它們的描述的列表

Property

描述

constructor

指定創建對象的原型的功能

global

如果指定了「g」修改被設置

ignoreCase

如果指定了「i」修改被設置

lastIndex

在該索引開始下一個匹配

multiline

如果指定了「m」修飾符設置

source

文本的模式

RegExp 方法:

這裏是每種方法及其描述的列表。

Method

描述

exec()

執行搜索在其字符串參數匹配

test()

測試其字符串參數匹配

toSource()

返回一個對象字面表示指定的對象; 可以使用這個值來創建一個新的對象

toString()

返回表示指定對象的字符串