亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JavaScript紅寶書筆記(六)---RegExp類型

eternalshallow / 2233人閱讀

摘要:第二個(gè)循環(huán)使用構(gòu)造函數(shù)在每次循環(huán)中創(chuàng)建正則表達(dá)式。布爾值,表示是否設(shè)置了標(biāo)志。整數(shù),表示開(kāi)始搜索下一個(gè)匹配項(xiàng)的字符位置,從算起。正則表達(dá)式的字符串表示,按照字面量形式而非傳入構(gòu)造函數(shù)中的字符串模式返回。

1.var someDate = new Date(Date.parse("May 25, 2004"));可用來(lái)計(jì)算時(shí)間差

//取得開(kāi)始時(shí)間
var start = Date.now();
//調(diào)用函數(shù)
doSomething();
//取得停止時(shí)間
var stop = Date.now(),
result = stop – start;

new Date()也行,不過(guò)需要轉(zhuǎn)換成字符串來(lái)計(jì)算

2.創(chuàng)建正則表達(dá)式:

var expression = / pattern / flags ;
var pattern1 = /[bc]at/i;

var pattern2 = new RegExp("[bc]at", "i");

正則表達(dá)式可以帶有一個(gè)或多個(gè)標(biāo)志:

g:表示全局( global)模式,即模式將被應(yīng)用于所有字符串,而非在發(fā)現(xiàn)第一個(gè)匹配項(xiàng)時(shí)立即
停止;
i:表示不區(qū)分大小寫( case-insensitive)模式,即在確定匹配項(xiàng)時(shí)忽略模式與字符串的大小寫;
m:表示多行( multiline)模式,即在到達(dá)一行文本末尾時(shí)還會(huì)繼續(xù)查找下一行中是否存在與模
式匹配的項(xiàng)。

/*
* 匹配字符串中所有"at"的實(shí)例
*/
var pattern1 = /at/g;
/*
* 匹配第一個(gè)"bat"或"cat",不區(qū)分大小寫
*/
var pattern2 = /[bc]at/i;
/*
* 匹配所有以"at"結(jié)尾的 3 個(gè)字符的組合,不區(qū)分大小寫
*/
var pattern3 = /.at/gi;

3.由于 RegExp 構(gòu)造函數(shù)的模式參數(shù)是字符串,所有元字符都必須雙重轉(zhuǎn)義

/[bc]at/             "[bc]at"
/.at/                 ".at"
/name/age/            "name/age"
/d.d{1,2}/           "d.d{1,2}"
/whello123/       "whello123"

4.正則表達(dá)式字面量始終會(huì)共享同一個(gè) RegExp 實(shí)例,而使用構(gòu)造函數(shù)創(chuàng)建的每一個(gè)新 RegExp 實(shí)例都是一個(gè)新實(shí)例

var re = null,
    i;
for (i=0; i < 10; i++){
    re = /cat/g;
    re.test("catastrophe");
}
for (i=0; i < 10; i++){
    re = new RegExp("cat", "g");
    re.test("catastrophe");
}

在第一個(gè)循環(huán)中,即使是循環(huán)體中指定的,但實(shí)際上只為/cat/創(chuàng)建了一個(gè) RegExp 實(shí)例。由于實(shí)例屬性不會(huì)重置,所以在循環(huán)中再次調(diào)用 test()方法會(huì)失敗。這是因?yàn)榈谝淮握{(diào)用 test()找到了"cat",但第二次調(diào)用是從索引為 3 的字符(上一次匹配的末尾)開(kāi)始的,所以就找不到它了。由于會(huì)測(cè)試到字符串末尾,所以下一次再調(diào)用 test()就又從開(kāi)頭開(kāi)始了。
第二個(gè)循環(huán)使用 RegExp 構(gòu)造函數(shù)在每次循環(huán)中創(chuàng)建正則表達(dá)式。因?yàn)槊看蔚紩?huì)創(chuàng)建一個(gè)新的RegExp 實(shí)例,所以每次調(diào)用 test()都會(huì)返回 true

5.RegExp實(shí)例屬性:
RegExp 的每個(gè)實(shí)例都具有下列屬性,通過(guò)這些屬性可以取得有關(guān)模式的各種信息。
global:布爾值,表示是否設(shè)置了 g 標(biāo)志。
ignoreCase:布爾值,表示是否設(shè)置了 i 標(biāo)志。
lastIndex:整數(shù),表示開(kāi)始搜索下一個(gè)匹配項(xiàng)的字符位置,從 0 算起。
multiline:布爾值,表示是否設(shè)置了 m 標(biāo)志。
source:正則表達(dá)式的字符串表示,按照字面量形式而非傳入構(gòu)造函數(shù)中的字符串模式返回。

6.RegExp實(shí)例方法:

RegExp 對(duì)象的主要方法是 exec(),該方法是專門為捕獲組而設(shè)計(jì)的
var text = "mom and dad and baby";
var pattern = /mom( and dad( and baby)?)?/gi;
var matches = pattern.exec(text);
alert(matches.index); // 0
alert(matches.input); // "mom and dad and baby"
alert(matches[0]); // "mom and dad and baby"
alert(matches[1]); // " and dad and baby"
alert(matches[2]); // " and baby"

其中, index 表示匹配項(xiàng)在字符串中的位置,而 input 表示應(yīng)用正則表達(dá)式的字符串

正則表達(dá)式的第二個(gè)方法是 test(),它接受一個(gè)字符串參數(shù)。在模式與該參數(shù)匹配的情況下返回true;否則,返回 false。
var text = "000-00-0000";
var pattern = /d{3}-d{2}-d{4}/;
if (pattern.test(text)){
    alert("The pattern was matched.");
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/105190.html

相關(guān)文章

  • Effective JavaScript讀書筆記(一)

    摘要:如果為假值,不傳或者傳入,函數(shù)都會(huì)返回但是,傳入這個(gè)值是完全有可能的,所以這種判斷形勢(shì)是不正確的或者使用來(lái)判斷也可以原始類型優(yōu)于封裝類型對(duì)象擁有六個(gè)原始值基本類型布爾值,數(shù)字,字符串,,和對(duì)象。 作為一個(gè)前端新人,多讀書讀好書,夯實(shí)基礎(chǔ)是十分重要的,正如蓋樓房一樣,底層穩(wěn)固了,才能越壘越高。從開(kāi)始學(xué)習(xí)到現(xiàn)在,基礎(chǔ)的讀了紅寶書《JavaScript高級(jí)程序設(shè)計(jì)》,犀牛書《JavaScri...

    zhoutao 評(píng)論0 收藏0
  • JavaScript寶書筆記(五)---引用類型

    摘要:在通過(guò)對(duì)象字面量定義對(duì)象時(shí),實(shí)際上不會(huì)調(diào)用構(gòu)造函數(shù)相當(dāng)于因?yàn)槭撬缮㈩愋蛿?shù)據(jù),所以類型也擁有著同樣的特性。數(shù)組的每一項(xiàng)可以保存任何類型的數(shù)據(jù),且數(shù)組的大小是可以動(dòng)態(tài)調(diào)整的。對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)會(huì)返回的項(xiàng)組成的數(shù)組。 1.在通過(guò)對(duì)象字面量定義對(duì)象時(shí),實(shí)際上不會(huì)調(diào)用 Object 構(gòu)造函數(shù) var person = { name : Nicholas, a...

    G9YH 評(píng)論0 收藏0
  • JavaScript寶書筆記(四)---變量、作用域和內(nèi)存問(wèn)題

    摘要:在操作對(duì)象時(shí),實(shí)際上是在操作對(duì)象的引用而不是實(shí)際的對(duì)象。為此,引用類型的值是按引用訪問(wèn)的。標(biāo)記清除是目前主流的垃圾收集算法,這種算法的思想是給當(dāng)前不使用的值加上標(biāo)記,然后再回收其內(nèi)存 1.在操作對(duì)象時(shí),實(shí)際上是在操作對(duì)象的引用而不是實(shí)際的對(duì)象。為此,引用類型的值是按引用訪問(wèn)的。 2.當(dāng)從一個(gè)變量向另一個(gè)變量復(fù)制引用類型的值時(shí),兩個(gè)變量實(shí)際上將引用同一個(gè)對(duì)象,因此,改變其中一個(gè)變量,就會(huì)...

    imtianx 評(píng)論0 收藏0
  • JavaScript寶書筆記(七)---Function類型

    摘要:函數(shù)實(shí)際上是對(duì)象。所以需要消除這種緊耦合。函數(shù)內(nèi)部屬性引用的是函數(shù)據(jù)以執(zhí)行的環(huán)境對(duì)象或者也可以說(shuō)是值函數(shù)的名字僅僅是一個(gè)包含指針的變量而已。因此,即使是在不同的環(huán)境中執(zhí)行,全局的函數(shù)與函數(shù)指向的仍然是同一個(gè)函數(shù)。 1.函數(shù)實(shí)際上是對(duì)象。每個(gè)函數(shù)都是 Function 類型的實(shí)例,而且都與其他引用類型一樣具有屬性和方法 2.由于函數(shù)名僅僅是指向函數(shù)的指針,因此函數(shù)名與包含對(duì)象指針的其他變...

    cyrils 評(píng)論0 收藏0
  • JavaScript寶書筆記(一)---JS概述、變量及基本數(shù)據(jù)類型

    摘要:是一個(gè)數(shù)值可以被轉(zhuǎn)換成數(shù)值不能轉(zhuǎn)換成數(shù)值可以被轉(zhuǎn)換成數(shù)值十六進(jìn)制數(shù)八進(jìn)制數(shù)十進(jìn)制數(shù)十六進(jìn)制數(shù)可以避免,無(wú)法使用方法轉(zhuǎn)換成字符串的情況 1.JavaScript由三個(gè)部分組成:ECMAScript(提供核心語(yǔ)言功能)、DOM(文檔對(duì)象模型,提供訪問(wèn)和操作網(wǎng)頁(yè)內(nèi)容的方法和接口)、BOM(瀏覽器對(duì)象模型,提供與瀏覽器交互的方法和接口) 2.JavaScript概念:是一種專為與網(wǎng)頁(yè)交互而設(shè)計(jì)...

    sevi_stuo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<