JavaScript正則函數(shù)中test和match的區(qū)別解析
在javascript中,用于檢測(cè)一個(gè)字符串是否匹配某個(gè)模式用的比較多的就是test和match方法。
1.match()方法
match是String的方法,參數(shù)是正則表達(dá)式,返回值是數(shù)組,沒(méi)有找到時(shí)返回的是null。
stringObj.match(rgExp) 其中stringObj是必選項(xiàng),對(duì)其進(jìn)行查找的string對(duì)象或字符串文字。rgExp是必選項(xiàng),為包含正則表達(dá)式模式和可用標(biāo)志的正則表達(dá)式對(duì)象。
2.test()方法
test是RegExp的方法,參數(shù)是字符串,返回值是boolean類型
返回值:如果字符串 string 中含有與 RegExpObject 匹配的文本,則返回 true,否則返回 false。
舉個(gè)例子:
給定字符串 str,檢查其是否符合如下格式
1、XXX-XXX-XXXX
2、其中 X 為 Number 類型輸入:'800-555-1212'
輸出:true
這兩個(gè)方法都可以使用:
function matchesPattern(str) { // 方法1、需要返回匹配值的用match或exec // match是字符串里的方法 str.match(rgExp) let flag = str.match(/^\d{3}-\d{3}-\d{4}$/) // 判斷flag是否存在,存在返回true,不存在值為null則返回false return flag ? true : false // 方法2、這里應(yīng)該用test // rgExp.test(str),返回值是boolean類型 return /^\d{3}-\d{3}-\d{4}$/.test(str) } console.log(matchesPattern('800-555-1212'));//true
這里一定要注意,str要帶引號(hào)??!因?yàn)闄z測(cè)的是字符串。
function matchesPattern(str) { // 1、需要返回匹配值的用match或exec let flag = str.match(/^\d{3}-\d{3}-\d{4}$/) console.log(flag); return flag ? true : false }
function matchesPattern(str) { // 2、這里應(yīng)該用test let res = /^\d{3}-\d{3}-\d{4}$/.test(str) console.log(res); return /^\d{3}-\d{3}-\d{4}$/.test(str) }
這樣我們很直觀的了解到,match和test區(qū)別還是很大的,一個(gè)返回?cái)?shù)組,一個(gè)返回布爾值,且作用的對(duì)象也是不一樣的,希望大家能有所收獲hhh?
到此這篇關(guān)于js正則函數(shù)中test和match的區(qū)別的文章就介紹到這了,更多相關(guān)js test和match的區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js canvas實(shí)現(xiàn)擦除效果示例代碼
擦除效果在我們?nèi)粘i_(kāi)發(fā)中也是時(shí)有見(jiàn)到的,通過(guò)擦除效果大大加強(qiáng)了與用戶的交互性,所以下面這篇文章主要給大家介紹了利用js和canvas實(shí)現(xiàn)擦除效果的相關(guān)資料,文中給出了詳細(xì)的介紹和示例代碼,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-04-04canvas實(shí)現(xiàn)圖片根據(jù)滑塊放大縮小效果
本文主要介紹了canvas實(shí)現(xiàn)圖片根據(jù)滑塊放大縮小效果的實(shí)例,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02JavaScript Array.flat()函數(shù)用法解析
這篇文章主要介紹了JavaScript Array.flat()函數(shù)用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09firefox TBODY 用js顯示和隱藏時(shí)出現(xiàn)錯(cuò)位的解決方法
今天幫別人寫(xiě)一個(gè)網(wǎng)頁(yè),發(fā)現(xiàn):當(dāng)用javascript動(dòng)態(tài)設(shè)置tr.style.display = "block"顯示某行時(shí),使用IE瀏覽沒(méi)有問(wèn)題,但使用firefox瀏覽時(shí)該行被移到了其它行的后面,很是詫異。2008-12-12用Javascript同時(shí)提交多個(gè)Web表單的方法
使用Javascript同時(shí)提交多個(gè)Web表單的方法2009-12-12