match() 方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。正則表達式
該方法相似 indexOf() 和 lastIndexOf(),可是它返回指定的值,而不是字符串的位置。數組
stringObject.match(searchvalue) stringObject.match(regexp)
參數 | 描述 |
---|---|
searchvalue | 必需。規定要檢索的字符串值。 |
regexp | 必需。規定要匹配的模式的 RegExp 對象。若是該參數不是 RegExp 對象,則須要首先把它傳遞給 RegExp 構造函數,將其轉換爲 RegExp 對象。 |
存放匹配結果的數組。該數組的內容依賴於 regexp 是否具備全局標誌 g。函數
若是 regexp 具備標誌 g,則 match() 方法將執行全局檢索,找到 stringObject 中的全部匹配子字符串。若沒有找到任何匹配的子串,則返回 null。若是找到了一個或多個匹配子串,則返回一個數組。不過全局匹配返回的數組的內容與前者大不相同,它的數組元素中存放的是 stringObject 中全部的匹配子串,並且也沒有 index 屬性或 input 屬性。spa
注意:在全局檢索模式下,match() 即不提供與子表達式匹配的文本的信息,也不聲明每一個匹配子串的位置。若是您須要這些全局檢索的信息,可使用 RegExp.exec()。regexp
search() 方法用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串。對象
stringObject.search(regexp)
參數 | 描述 |
---|---|
regexp | 該參數能夠是須要在 stringObject 中檢索的子串,也能夠是須要檢索的 RegExp 對象。blog 註釋:要執行忽略大小寫的檢索,請追加標誌 i。ip |
stringObject 中第一個與 regexp 相匹配的子串的起始位置。返回的結果是一個數字字符串
註釋:若是沒有找到任何匹配的子串,則返回 -1。get
search() 對大小寫敏感
search() 方法不執行全局匹配,它將忽略標誌 g。它同時忽略 regexp 的 lastIndex 屬性,而且老是從字符串的開始進行檢索,這意味着它老是返回 stringObject 的第一個匹配文本的第0個元素的位置,並且它一旦遇到匹配的文本就結束檢索。
replace() 方法用於在字符串中用一些字符替換另外一些字符,或替換一個與正則表達式匹配的子串。
stringObject.replace(regexp/substr,replacement)
參數 | 描述 |
---|---|
regexp/substr | 必需。規定子字符串或要替換的模式的 RegExp 對象。 請注意,若是該值是一個字符串,則將它做爲要檢索的直接量文本模式,而不是首先被轉換爲 RegExp 對象。 |
replacement | 必需。一個字符串值。規定了替換文本或生成替換文本的函數。 |
一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或全部匹配以後獲得的。
字符串 stringObject 的 replace() 方法執行的是查找並替換的操做。它將在 stringObject 中查找與 regexp 相匹配的子字符串,而後用 replacement 來替換這些子串。若是 regexp 具備全局標誌 g,那麼 replace() 方法將替換全部匹配的子串。不然,它只替換第一個匹配子串。
replacement 能夠是字符串,也能夠是函數。若是它是字符串,那麼每一個匹配都將由字符串替換。可是 replacement 中的 $ 字符具備特定的含義。以下表所示,它說明從模式匹配獲得的字符串將用於替換。
字符 | 替換文本 |
---|---|
$一、$二、...、$99 | 與 regexp 中的第 1 到第 99 個子表達式相匹配的文本。 |
$& | 與 regexp 相匹配的子串。 |
$` | 位於匹配子串左側的文本。 |
$' | 位於匹配子串右側的文本。 |
$$ | 直接量符號。 |
注意:ECMAScript v3 規定,replace() 方法的參數 replacement 能夠是函數而不是字符串。在這種狀況下,每一個匹配都調用該函數,它返回的字符串將做爲替換文本使用。該函數的第一個參數是匹配模式的字符串。接下來的參數是與模式中的子表達式匹配的字符串,能夠有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明瞭匹配在 stringObject 中出現的位置。最後一個參數是 stringObject 自己。
split() 方法用於把一個字符串分割成字符串數組。
stringObject.split(separator,howmany)
參數 | 描述 |
---|---|
separator | 必需。字符串或正則表達式,從該參數指定的地方分割 stringObject。 |
howmany | 可選。該參數可指定返回的數組的最大長度。若是設置了該參數,返回的子串不會多於這個參數指定的數組。若是沒有設置該參數,整個字符串都會被分割,不考慮它的長度。 |
一個字符串數組。該數組是經過在 separator 指定的邊界處將字符串 stringObject 分割成子串建立的。返回的數組中的字串不包括 separator 自身。
可是,若是 separator 是包含子表達式的正則表達式,那麼返回的數組中包括與這些子表達式匹配的字串(但不包括與整個正則表達式匹配的文本)。
註釋:若是把空字符串 ("") 用做 separator,那麼 stringObject 中的每一個字符之間都會被分割。
註釋:String.split() 執行的操做與 Array.join 執行的操做是相反的。