js正則和數組


正則RegExp

RegExp 對象用於存儲檢索模式。

通過 new 關鍵詞來定義 RegExp 對象。以下代碼定義了名為 patt1 的 RegExp 對象,其模式是 "e":

var patt1=new RegExp("e");

當您使用該 RegExp 對象在一個字符串中檢索時,將尋找的是字符 "e"。

方法

RegExp 對象有 3 個方法:test()、exec() 以及 compile()。

test() 方法檢索字符串中的指定值。返回值是 true 或 false。

exec() 方法檢索字符串中的指定值。返回值是被找到的值。如果沒有發現匹配,則返回 null。

compile() 既可以改變檢索模式,也可以添加或刪除第二個參數。

您可以向 RegExp 對象添加第二個參數,以設定檢索。例如,如果需要找到所有某個字符的所有存在,則可以使用 "g" 參數 ("global")。

創建 RegExp 對象的語法:

new RegExp(pattern, attributes);

參數

參數 pattern 是一個字符串,指定了正則表達式的模式或其他正則表達式。

參數 attributes 是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用於指定全局匹配、區分大小寫的匹配和多行匹配。ECMAScript 標准化之前,不支持 m 屬性。如果 pattern 是正則表達式,而不是字符串,則必須省略該參數。

 

 修飾符 描述
i 執行對大小寫不敏感的匹配。
g 執行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。
m

執行多行匹配。

 
[abc] 查找方括號之間的任何字符。
[^abc] 查找任何不在方括號之間的字符。
[0-9] 查找任何從 0 至 9 的數字。
[a-z] 查找任何從小寫 a 到小寫 z 的字符。
[A-Z] 查找任何從大寫 A 到大寫 Z 的字符。
[A-z] 查找任何從大寫 A 到小寫 z 的字符。
[adgk] 查找給定集合內的任何字符。
[^adgk] 查找給定集合外的任何字符。
(red|blue|green) 查找任何指定的選項。

 

元字符(Metacharacter)是擁有特殊含義的字符:

元字符 描述
. 查找單個字符,除了換行和行結束符。
\w 查找單詞字符。
\W 查找非單詞字符。
\d 查找數字。
\D 查找非數字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 匹配單詞邊界。
\B 匹配非單詞邊界。
\0 查找 NUL 字符。
\n 查找換行符。
\f 查找換頁符。
\r 查找回車符。
\t 查找制表符。
\v 查找垂直制表符。
\xxx 查找以八進制數 xxx 規定的字符。
\xdd 查找以十六進制數 dd 規定的字符。
\uxxxx 查找以十六進制數 xxxx 規定的 Unicode 字符。

 

 

量詞

量詞 描述
n+ 匹配任何包含至少一個 n 的字符串。
n* 匹配任何包含零個或多個 n 的字符串。
n? 匹配任何包含零個或一個 n 的字符串。
n{X} 匹配包含 X 個 n 的序列的字符串。
n{X,Y} 匹配包含 X 至 Y 個 n 的序列的字符串。
n{X,} 匹配包含至少 X 個 n 的序列的字符串。
n$ 匹配任何結尾為 n 的字符串。
^n 匹配任何開頭為 n 的字符串。
?=n 匹配任何其后緊接指定字符串 n 的字符串。
?!n 匹配任何其后沒有緊接指定字符串 n 的字符串。

 

RegExp 對象屬性

屬性 描述 FF IE
global RegExp 對象是否具有標志 g。 1 4
ignoreCase RegExp 對象是否具有標志 i。 1 4
lastIndex 一個整數,標示開始下一次匹配的字符位置。 1 4
multiline RegExp 對象是否具有標志 m。 1 4
source 正則表達式的源文本。 1 4

 

RegExp 對象方法

方法 描述 FF IE
compile 編譯正則表達式。 1 4
exec 檢索字符串中指定的值。返回找到的值,並確定其位置。 1 4
test 檢索字符串中指定的值。返回 true 或 false。 1 4

 

支持正則表達式的 String 對象的方法

方法 描述 FF IE
search 檢索與正則表達式相匹配的值。 1 4
match 找到一個或多個正則表達式的匹配。 1 4
replace 替換與正則表達式匹配的子串。 1 4
split 把字符串分割為字符串數組。 1 4

 

定義數組

數組對象用來在單獨的變量名中存儲一系列的值。

我們使用關鍵詞 new 來創建數組對象。下面的代碼定義了一個名為 myArray 的數組對象:

var myArray=new Array()

有兩種向數組賦值的方法(你可以添加任意多的值,就像你可以定義你需要的任意多的變量一樣)。

Array 對象屬性

屬性 描述
constructor 返回對創建此對象的數組函數的引用。
length 設置或返回數組中元素的數目。
prototype 使您有能力向對象添加屬性和方法。
 
Array 對象方法
 
 
方法 描述
concat() 連接兩個或更多的數組,並返回結果。
join() 把數組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔。
pop() 刪除並返回數組的最后一個元素
push() 向數組的末尾添加一個或更多元素,並返回新的長度。
reverse() 顛倒數組中元素的順序。
shift() 刪除並返回數組的第一個元素
slice() 從某個已有的數組返回選定的元素
sort() 對數組的元素進行排序
splice() 刪除元素,並向數組添加新元素。
toSource() 返回該對象的源代碼。
toString() 把數組轉換為字符串,並返回結果。
toLocaleString() 把數組轉換為本地數組,並返回結果。
unshift() 向數組的開頭添加一個或更多元素,並返回新的長度。
valueOf() 返回數組對象的原始值
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM