每天一篇javascript學(xué)習(xí)小結(jié)(RegExp對(duì)象)
1、正則表達(dá)式test方法
var text = "cat, bat, sat, fat"; var pattern = /.at/; if (pattern.test(text)){ alert("The pattern was matched."); }
2、正則的toString()方法
var pattern = new RegExp("\\[bc\\]at", "gi"); alert(pattern.toString()); // /\[bc\]at/gi alert(pattern.toLocaleString()); // /\[bc\]at/gi
3、RegExp Constructor(構(gòu)造函數(shù)) Properties(屬性)
var text = "this has been a short summer"; var pattern = /(.)hort/g; /* * Note: Opera doesn't support input, lastMatch, lastParen, or multiline. * Internet Explorer doesn't support multiline. */ if (pattern.test(text)){ alert(RegExp.input); //this has been a short summer alert(RegExp.leftContext); //this has been a alert(RegExp.rightContext); // summer alert(RegExp.lastMatch); //short alert(RegExp.lastParen); //s alert(RegExp.multiline); //false } input 保存被搜索的字符串 index 保存匹配的首字符的位置 lastIndex 保存匹配的字符串下一個(gè)字符的位置 lastMatch 保存匹配到的字符串 lastParen 保存最后一個(gè)被匹配的字符串(最后一個(gè)括號(hào)內(nèi)的內(nèi)容) leftContext 保存匹配字符串左邊的內(nèi)容 rightContext 保存匹配字符串右邊的內(nèi)容 $1~$9 保存最開(kāi)始的9個(gè)子匹配(括號(hào)中的內(nèi)容)
var text = "this has been a short summer"; var pattern = /(.)hort/g; /* * Note: Opera doesn't support short property names. * Internet Explorer doesn't support multiline. */ if (pattern.test(text)){ alert(RegExp.$_); //this has been a short summer alert(RegExp["$`"]); //this has been a alert(RegExp["$'"]); // summer alert(RegExp["$&"]); //short alert(RegExp["$+"]); //s alert(RegExp["$*"]); //false } * 分為長(zhǎng)屬性名和短屬性名 * input $_ 最近一次要匹配的字符串 * lastMatch $& 最近一次的匹配項(xiàng) * lastParen $+ 最近一次匹配的捕獲組 * leftContext $` input字符串中l(wèi)astMatch之前的文本 * multiline $* 布爾值,表示是否所有表達(dá)式都使用多行模式。 * rightContext $' input字符串中l(wèi)astMatch之后的文本
4、正則$1.....$9
var text = "this has been a short summer"; var pattern = /(..)or(.)/g; if (pattern.test(text)){ alert(RegExp.$1); //sh alert(RegExp.$2); //t } 每當(dāng)產(chǎn)生一個(gè)帶括號(hào)的成功匹配時(shí),$1...$9 屬性的值就被修改。 可以在一個(gè)正則表達(dá)式模式中指定任意多個(gè)帶括號(hào)的子匹配,但只能存儲(chǔ)最新的九個(gè)。
5、RegExp exec()
var text = "mom and dad and baby"; var pattern = /mom( and dad( and baby)?)?/gi; var matches = pattern.exec(text); alert(matches.index); //0 第一個(gè)被匹配到的位置 alert(matches.input); //"mom and dad and baby" 匹配的原始字符串 alert(matches[0]); //"mom and dad and baby" 匹配的第一個(gè)值 alert(matches[1]); //" and dad and baby" 匹配的第二個(gè)值 alert(matches[2]); //" and baby" 匹配的第三個(gè)值
var text = "cat, bat, sat, fat"; var pattern1 = /.at/; var matches = pattern1.exec(text); alert(matches.index); //0 alert(matches[0]); //"cat" alert(pattern1.lastIndex);//0 matches = pattern1.exec(text); alert(matches.index); //0 alert(matches[0]); //"cat" alert(pattern1.lastIndex);//0 var pattern2 = /.at/g; var matches = pattern2.exec(text); alert(matches.index); //0 alert(matches[0]); //"cat" alert(pattern2.lastIndex);//0 matches = pattern2.exec(text); alert(matches.index); //5 alert(matches[0]); //"bat" alert(pattern2.lastIndex);//0
6、RegExp實(shí)例屬性
var pattern1 = /\[bc\]at/i; alert(pattern1.global); //false //是否設(shè)置全局查找 alert(pattern1.ignoreCase); //true 是否忽略大小寫(xiě) alert(pattern1.multiline); //false 是否設(shè)置多行查找 alert(pattern1.lastIndex); //0 一個(gè)整數(shù),標(biāo)示開(kāi)始下一次匹配的字符位置。 alert(pattern1.source); //"\[bc\]at" 正則表達(dá)式的源文本。 var pattern2 = new RegExp("\\[bc\\]at", "i"); alert(pattern2.global); //false alert(pattern2.ignoreCase); //true alert(pattern2.multiline); //false alert(pattern2.lastIndex); //0 alert(pattern2.source); //"\[bc\]at"
以上就是今天的javascript學(xué)習(xí)小結(jié),之后每天還會(huì)繼續(xù)更新,希望大家繼續(xù)關(guān)注。
- javascript RegExp對(duì)象(正則表達(dá)式)
- JavaScript 核心參考教程 RegExp對(duì)象
- js正則表達(dá)式之RegExp對(duì)象之compile方法 編譯正則表達(dá)式
- js正則表達(dá)式之RegExp對(duì)象屬性lastIndex,lastMatch,lastParen,lastContext,rightContext屬性講解
- js正則表達(dá)式之input屬性($_)RegExp對(duì)象屬性介紹
- js正則表達(dá)式講解之index屬性(RegExp對(duì)象)
- JavaScript-RegExp對(duì)象只能使用一次問(wèn)題解決方法
- JavaScript學(xué)習(xí)小結(jié)(一)——JavaScript入門(mén)基礎(chǔ)
- 每天一篇javascript學(xué)習(xí)小結(jié)(基礎(chǔ)知識(shí))
- 每天一篇javascript學(xué)習(xí)小結(jié)(Array數(shù)組)
- 每天一篇javascript學(xué)習(xí)小結(jié)(Boolean對(duì)象)
- 每天一篇javascript學(xué)習(xí)小結(jié)(Date對(duì)象)
- 每天一篇javascript學(xué)習(xí)小結(jié)(Function對(duì)象)
相關(guān)文章
JS實(shí)現(xiàn)自動(dòng)固定頂部的懸浮菜單欄效果
這篇文章主要介紹了JS實(shí)現(xiàn)自動(dòng)固定頂部的懸浮菜單欄效果,涉及JavaScript針對(duì)window.onscroll事件的響應(yīng)及頁(yè)面樣式動(dòng)態(tài)變換的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09RGB轉(zhuǎn)換實(shí)現(xiàn)代碼,淘寶前端開(kāi)發(fā)工程師筆試題
寫(xiě)一個(gè)轉(zhuǎn)換RGB的值的函數(shù),實(shí)現(xiàn)以下效果。2010-11-11原生JavaScript編寫(xiě)canvas版的連連看游戲
這篇文章主要為大家詳細(xì)介紹了原生JavaScript編寫(xiě)連連看游戲的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05Bootstrap 實(shí)現(xiàn)表格樣式、表單布局的實(shí)例代碼
這篇文章主要介紹了Bootstrap 實(shí)現(xiàn)表格樣式、表單布局的實(shí)例代碼,需要的朋友可以參考下2018-12-12JS實(shí)現(xiàn)自適應(yīng)高度表單文本框的方法
這篇文章主要介紹了JS實(shí)現(xiàn)自適應(yīng)高度表單文本框的方法,實(shí)例分析了針對(duì)IE內(nèi)核與非IE內(nèi)核下的javascript控制文本框樣式的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02