欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識(shí)庫 > JavaScript正則表達(dá)式下之相關(guān)方法

JavaScript正則表達(dá)式下之相關(guān)方法

熱門標(biāo)簽:實(shí)用地圖標(biāo)注app 宿遷智能外呼系統(tǒng)供應(yīng)商 地圖標(biāo)注商戶中心要收錢多少 400免費(fèi)電話去哪申請(qǐng) 地圖標(biāo)注字母的軟件 線上教育ai外呼系統(tǒng) 菏澤智能ai電銷機(jī)器人銷售公司 鄂州人工智能電銷機(jī)器人軟件 css百度地圖標(biāo)注位置顯示

上篇文章給大家介紹了JavaScript 正則表達(dá)式上之基本語法介紹了JavaScript正則表達(dá)式的語法,有了這些基本知識(shí),可以看看正則表達(dá)式在JavaScript的應(yīng)用了,在一切開始之前,看看RegExp實(shí)例的幾個(gè)屬性

RegExp實(shí)例對(duì)象有五個(gè)屬性

1.global:是否全局搜索,默認(rèn)是false

2.ignoreCase:是否大小寫敏感,默認(rèn)是false

3.multiline:多行搜索,默認(rèn)值是false

4.lastIndex:是當(dāng)前表達(dá)式模式首次匹配內(nèi)容中最后一個(gè)字符的下一個(gè)位置,每次正則表達(dá)式成功匹配時(shí),lastIndex屬性值都會(huì)隨之改變。

5.source:正則表達(dá)式的文本字符串

除了將正則表達(dá)式編譯為內(nèi)部格式從而使執(zhí)行更快的compile()方法,對(duì)象還有兩個(gè)我們常用的方法

regObj.test(strObj)

方法用于測試字符串參數(shù)中是否存正則表達(dá)式模式,如果存在則返回true,否則返回false

復(fù)制代碼 代碼如下:

var reg=/\d+\.\d{1,2}$/g;reg.test('123.45'); //truereg.test('0.2'); //truereg.test('a.34'); //falsereg.test('34.5678'); //false

regObj.exec(strObj)

方法用于正則表達(dá)式模式在字符串中運(yùn)行查找,如果 exec() 找到了匹配的文本,則返回一個(gè)結(jié)果數(shù)組。否則,返回 null。除了數(shù)組元素和 length 屬性之外,exec() 方法還返回兩個(gè)屬性。index 屬性聲明的是匹配文本的第一個(gè)字符的位置。input 屬性則存放的是被檢索的字符串 string。

調(diào)用非全局的 RegExp對(duì)象的 exec() 時(shí),返回?cái)?shù)組的第 0 個(gè)元素是與正則表達(dá)式相匹配的文本,第 1 個(gè)元素是與 RegExpObject 的第 1 個(gè)子表達(dá)式相匹配的文本(如果有的話),第 2 個(gè)元素是與 RegExp對(duì)象的第 2 個(gè)子表達(dá)式相匹配的文本(如果有的話),以此類推。

調(diào)用全局的RegExp對(duì)象的 exec()時(shí),它會(huì)在 RegExp實(shí)例的 lastIndex 屬性指定的字符處開始檢索字符串 string。當(dāng) exec() 找到了與表達(dá)式相匹配的文本時(shí),在匹配后,它將把 RegExp實(shí)例的 lastIndex 屬性設(shè)置為匹配文本的最后一個(gè)字符的下一個(gè)位置。可以通過反復(fù)調(diào)用 exec() 方法來遍歷字符串中的所有匹配文本。當(dāng) exec() 再也找不到匹配的文本時(shí),它將返回 null,并把 lastIndex 屬性重置為 0。

復(fù)制代碼 代碼如下:

var reg=/\d/g;var r=reg.exec('a1b2c3'); console.log(reg.lastIndex); //2r=reg.exec('a1b2c3');console.log(reg.lastIndex); //4

兩次執(zhí)行r的結(jié)果

復(fù)制代碼 代碼如下:

var reg=/\d/g;while(r=reg.exec('a1b2c3')){ console.log(r.index+':'+r[0]);}

可以看到結(jié)果:

復(fù)制代碼 代碼如下:
1:13:25:3

除了上面的兩個(gè)方法,有些字符串函數(shù)可以傳入RegExp對(duì)象作為參數(shù),進(jìn)行一些復(fù)雜的操作

strObj.search(RegObj)

search() 方法用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串。search() 方法不執(zhí)行全局匹配,它將忽略標(biāo)志 g。它同時(shí)忽略 regexp 的 lastIndex 屬性,并且總是從字符串的開始進(jìn)行檢索,這意味著它總是返回 stringObject 的第一個(gè)匹配的位置。

復(fù)制代碼 代碼如下:

'a1b2c3'.search(/\d/g); //1'a1b2c3'.search(/\d/); //1

strObj.match(RegObj)

match() 方法將檢索字符串 stringObject,以找到一個(gè)或多個(gè)與 regexp 匹配的文本。但regexp是否具有標(biāo)志 g對(duì)結(jié)果影響很大。

如果 regexp 沒有標(biāo)志 g,那么 match() 方法就只能在 strObj 中執(zhí)行一次匹配。如果沒有找到任何匹配的文本, match() 將返回 null。否則,它將返回一個(gè)數(shù)組,其中存放了與它找到的匹配文本有關(guān)的信息。該數(shù)組的第 0 個(gè)元素存放的是匹配文本,而其余的元素存放的是與正則表達(dá)式的子表達(dá)式匹配的文本。除了這些常規(guī)的數(shù)組元素之外,返回的數(shù)組還含有兩個(gè)對(duì)象屬性。index 屬性聲明的是匹配文本的起始字符在 stringObject 中的位置,input 屬性聲明的是對(duì) stringObject 的引用。

復(fù)制代碼 代碼如下:

var r='aaa123456'.match(/\d/);

如果 regexp 具有標(biāo)志 g,則 match() 方法將執(zhí)行全局檢索,找到 strObj 中的所有匹配子字符串。若沒有找到任何匹配的子串,則返回 null。如果找到了一個(gè)或多個(gè)匹配子串,則返回一個(gè)數(shù)組。不過全局匹配返回的數(shù)組的內(nèi)容與前者大不相同,它的數(shù)組元素中存放的是 strObj 中所有的匹配子串,而且也沒有 index 屬性或 input 屬性。

復(fù)制代碼 代碼如下:

var r='aaa123456'.match(/\d/g);

strObj.replace(regObj,replaceStr)

關(guān)于strng對(duì)象的replace方法,我們最常用的時(shí)傳入兩個(gè)字符串的做法,但這種做法有個(gè)缺陷,只能replace一次

復(fù)制代碼 代碼如下:

'abcabcabc'.replace('bc','X'); //aXabcabc

replace方法的第一個(gè)參數(shù)還可以傳入RegExp對(duì)象,傳入正則表達(dá)式可以時(shí)replace方法更加強(qiáng)大靈活

復(fù)制代碼 代碼如下:

'abcabcabc'.replace(/bc/g,'X'); //aXaXaX'abcaBcabC'.replace(/bc/gi,'X'); //aXaXaX

如果replace方法的第一個(gè)參數(shù)傳入的是帶分組的正則表達(dá)式,我們?cè)诘诙€(gè)參數(shù)中可以使用$1...$9來獲取相應(yīng)分組內(nèi)容,比如希望把字符串 1%2%>34%567%>89 的%x%>換為$#x#$,我們可以這樣

復(fù)制代碼 代碼如下:

'1%2%>34%567%>89'.replace(/%(\d+)%>/g,'@#$1#@');//1@#2#@34@#567#@89

當(dāng)然還有很多方式可以達(dá)到這一目的,這里只是演示一下利用分組內(nèi)容,我們?cè)诘诙€(gè)參數(shù)中使用 @#$1#@,其中$1表示被捕獲的分組內(nèi)容,在一些js模板函數(shù)中可以經(jīng)常見到這種方式替換字符串。

strObj.replace(regObj,function(){})

可以通過修改replace方法的第二個(gè)參數(shù),使replace更加強(qiáng)大,在前面的介紹中,只能把所有匹配替換為固定內(nèi)容,但如果我希望把一個(gè)字符串中所有數(shù)字,都用小括號(hào)包起來該怎么弄

復(fù)制代碼 代碼如下:

'2398rufdjg9w45hgiuerhg83ghvif'.replace(/\d+/g,function(r){ return '('+r+')';}); //"(2398)rufdjg(9)w(45)hgiuerhg(83)ghvif"

把replace方法的第二個(gè)參數(shù)傳入一個(gè)function,這個(gè)function會(huì)在每次匹配替換的時(shí)候調(diào)用,算是個(gè)每次替換的回調(diào)函數(shù),我們使用了回調(diào)函數(shù)的第一個(gè)參數(shù),也就是匹配內(nèi)容,其實(shí)回調(diào)函數(shù)一共有四個(gè)參數(shù)

1.第一個(gè)參數(shù)很簡單,是匹配字符串

2.第二個(gè)參數(shù)是正則表達(dá)式分組內(nèi)容,沒有分組則沒有該參數(shù)

3.第三個(gè)參數(shù)是匹配項(xiàng)在字符串中的index

4.第四個(gè)參數(shù)則是原字符串

復(fù)制代碼 代碼如下:

'2398rufdjg9w45hgiuerhg83ghvif'.replace(/\d+/g,function(a,b,c){ console.log(a+'\t'+b+'\t'+c); return '('+a+')';}); 2398 0 2398rufdjg9w45hgiuerhg83ghvif9 10 2398rufdjg9w45hgiuerhg83ghvif45 12 2398rufdjg9w45hgiuerhg83ghvif83 22 2398rufdjg9w45hgiuerhg83ghvif

 

這是沒有分組的情況,打印出來的分別是 匹配內(nèi)容、匹配項(xiàng)index和原字符串,看個(gè)有分組的例子,如果我們希望把一個(gè)字符串的%%>外殼去掉,%1%>%2%>%3%> 變成123

復(fù)制代碼 代碼如下:
'%1%>%2%>%3%>'.replace(/%([^%>]+)%>/g,function(a,b,c,d){ console.log(a+'\t'+b+'\t'+c+'\t'+d); return b;}) //123%1%> 1 0 %1%>%2%>%3%> %2%> 2 5 %1%>%2%>%3%> %3%> 3 10 %1%>%2%>%3%>

根據(jù)這種參數(shù)replace可以實(shí)現(xiàn)很多強(qiáng)大的功能,尤其是在復(fù)雜的字符串替換語句中經(jīng)常使用。

strObj.split(regObj)

我們經(jīng)常使用split方法把字符串分割為字符數(shù)組

復(fù)制代碼 代碼如下:
'a,b,c,d'.split(','); //["a", "b", "c", "d"]

和replace方法類似,在一些復(fù)雜的分割情況下我們可以使用正則表達(dá)式解決

復(fù)制代碼 代碼如下:
'a1b2c3d'.split(/\d/); //["a", "b", "c", "d"]

這樣就可以按照數(shù)字分割字符串了,是不是很強(qiáng)大。看完這兩篇博客基本就能對(duì)平時(shí)用到的JavaScript正則表達(dá)式游刃有余了。要求在前端把一個(gè)div中的英文段落單詞首字母都換成大寫,你是不是知道該怎么做了?

您可能感興趣的文章:
  • js正則表達(dá)式學(xué)習(xí)和總結(jié)(必看篇)
  • js正則表達(dá)式驗(yàn)證URL函數(shù)代碼(方便多個(gè)正則對(duì)比)
  • js匹配網(wǎng)址url的正則表達(dá)式集合
  • js正則表達(dá)式注冊(cè)頁面表單驗(yàn)證
  • Javascript校驗(yàn)密碼復(fù)雜度的正則表達(dá)式
  • JS正則表達(dá)式匹配檢測各種數(shù)值類型(數(shù)字驗(yàn)證)
  • JavaScript中一些常用的正則表達(dá)式(推薦)
  • JS使用正則表達(dá)式過濾多個(gè)詞語并替換為相同長度星號(hào)的方法
  • js利用正則表達(dá)式檢驗(yàn)輸入內(nèi)容是否為網(wǎng)址
  • JS去除空格和換行的正則表達(dá)式(推薦)
  • JavaScript正則表達(dá)式上之基本語法(推薦)
  • JavaScript 中的正則表達(dá)式(推薦)
  • 利用js正則表達(dá)式校驗(yàn)正數(shù)、負(fù)數(shù)、和小數(shù)

標(biāo)簽:池州 咸陽 梅州 六安 鞍山 三亞 恩施 綿陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JavaScript正則表達(dá)式下之相關(guān)方法》,本文關(guān)鍵詞  JavaScript,正則,表達(dá)式,下之,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JavaScript正則表達(dá)式下之相關(guān)方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于JavaScript正則表達(dá)式下之相關(guān)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产精品91av| 久久综合久久综合亚洲| 亚洲免费大片在线观看| 成人精品在线视频观看| 美女三级黄色片| 欧美国产精品中文字幕| 国产美女一区二区三区| 天堂av网手机版| 国产精品视频九色porn| 成人影视亚洲图片在线| 色综合久久综合网| 亚洲丝袜另类动漫二区| av电影天堂一区二区在线| 国产精品白嫩白嫩大学美女| 亚洲视频中文字幕| 91丨porny丨蝌蚪视频| 欧美性感一类影片在线播放| 亚洲国产中文字幕| 疯狂揉花蒂控制高潮h| 日韩女优电影在线观看| 久久精品二区亚洲w码| 亚洲一级片在线播放| 国产日韩精品一区| 成人午夜电影久久影院| 在线观看一区日韩| 亚洲第一福利一区| 国产精品无码网站| 国产亚洲自拍一区| 成+人+亚洲+综合天堂| 欧美在线不卡一区| 青青草97国产精品免费观看 | 久久久久国产成人精品亚洲午夜| 狠狠色丁香婷综合久久| 182在线观看视频| 亚洲精品欧美在线| 玖玖爱在线精品视频| 亚洲精品一区二区三区99| 国产福利精品一区| 欧美做爰猛烈大尺度电影无法无天| 亚洲午夜一区二区| 免费在线观看你懂的| 国产精品麻豆网站| 亚洲性图第一页| 精品国一区二区三区| 粉嫩在线一区二区三区视频| 欧美午夜电影网| 久久99精品国产麻豆不卡| 国产人妻精品一区二区三区不卡| 亚洲一区在线观看免费 | 日本xxxx裸体xxxx| 国产亚洲综合性久久久影院| 91麻豆精品视频| 超碰男人的天堂| 久久中文娱乐网| 成人黄色a**站在线观看| 亚洲一区免费视频| 调教驯服丰满美艳麻麻在线视频| 亚洲日本中文字幕区| www.色多多| 亚洲免费在线观看| 玖玖爱在线观看| 亚洲视频免费观看| 亚洲av无码一区二区三区人| 亚洲欧美综合色| 性欧美精品中出| 一区二区在线观看视频 | 亚洲午夜激情av| 亚洲精品国产精品国自| 亚洲福利电影网| 老熟妻内射精品一区| 日韩福利视频导航| 色综合久久综合| 久久99精品久久久久久动态图| 在线亚洲高清视频| 韩国av一区二区| 欧美日韩国产高清一区二区三区| 国产一区二区三区黄视频| 欧美人伦禁忌dvd放荡欲情| 国产乱码精品一区二区三| 欧美精品在线一区二区| 高清不卡一区二区在线| 欧美成人高清电影在线| 国产精品偷伦视频免费观看了 | 国产尤物一区二区在线| 欧美日韩精品专区| 粉嫩aⅴ一区二区三区四区五区| 日韩一级二级三级精品视频| 99久久99久久精品免费观看| 国产亚洲欧美日韩在线一区| 亚洲国产第一区| 亚洲综合精品久久| 波多野结衣爱爱视频| 激情图片小说一区| 日韩亚洲欧美中文三级| 无码人妻丰满熟妇区毛片蜜桃精品| 欧美国产一区在线| 国产成人一区二区在线观看| 日本不卡不码高清免费观看| 欧美午夜精品久久久久久超碰| 成人午夜免费电影| 国产欧美日韩精品一区| 日本xxxxxxxxx18| 日本最新不卡在线| 制服丝袜一区二区三区| 黑人巨大猛交丰满少妇| 综合久久给合久久狠狠狠97色| 国产福利在线导航| 韩国三级在线一区| 2021中文字幕一区亚洲| 极品粉嫩小仙女高潮喷水久久| 亚洲妇熟xx妇色黄| 欧美日韩精品一区二区三区蜜桃 | 久久久青草青青国产亚洲免观| 精品人妻一区二区免费视频| 亚洲国产精品一区二区www在线| 日本高清免费不卡视频| 99久久99精品久久久久久| 亚洲视频一区二区在线观看| 麻豆天美蜜桃91| 岛国av在线一区| 国产精品嫩草影院com| 日本美女黄色一级片| 国产精品18久久久久久久网站| 久久久精品tv| 国产第一页精品| 国产精品99久久久久| 国产欧美一区二区三区网站| jizzjizz日本少妇| 国产成人日日夜夜| 国产精品美女一区二区三区| 久久r这里只有精品| 91原创在线视频| 一个色综合av| 91精品国产丝袜白色高跟鞋| 欧美精品欧美极品欧美激情| 免费在线观看精品| 2020国产精品| 免费一级suv好看的国产网站| 国产黄色91视频| 日韩一区欧美小说| 欧美艳星brazzers| 亚洲天堂资源在线| 久久成人免费电影| 国产精品久久久久影院亚瑟 | 紧身裙女教师波多野结衣| 成人免费看的视频| 亚洲在线一区二区三区| 在线播放中文一区| www.av天天| 丁香婷婷综合激情五月色| 亚洲精品视频在线| 337p亚洲精品色噜噜噜| 舐め犯し波多野结衣在线观看| 国产精品一区二区三区四区| 亚洲婷婷国产精品电影人久久| 欧美日韩一级二级| 双性尿奴穿贞c带憋尿| 国产一区二区电影| 国产精品国产三级国产aⅴ入口| 在线观看一区二区视频| 国产黑丝一区二区| 国产美女在线精品| 一区二区三区免费在线观看| 欧美一级欧美三级| 少妇的滋味中文字幕bd| 成人av中文字幕| 午夜精品视频在线观看| 久久一区二区三区四区| 色哟哟亚洲精品| xxxx黄色片| 国产**成人网毛片九色| 亚瑟在线精品视频| 国产亚洲欧洲一区高清在线观看| 91精品办公室少妇高潮对白| 中文字幕 亚洲一区| 国产 日韩 欧美大片| 午夜精品一区二区三区免费视频 | 西西大胆午夜视频| 粉嫩13p一区二区三区| 五月激情六月综合| 中文av一区二区| 欧美高清视频不卡网| 日韩在线不卡av| 亚洲熟女乱综合一区二区三区| 成人免费视频caoporn| 日本sm残虐另类| 日韩美女视频一区二区 | 欧美不卡视频一区| 一本大道久久a久久精品综合| 黄色在线观看av| 91亚洲精华国产精华精华液| 麻豆成人免费电影| 亚洲精品日产精品乱码不卡| 久久婷婷色综合| 欧美精品亚洲一区二区在线播放| jizzjizzjizz国产| 亚洲乱码国产乱码精品精大量| 99re66热这里只有精品3直播| 久久69国产一区二区蜜臀| 亚洲午夜久久久久久久久久久|