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