JavaScript正則函數(shù)中test和match的區(qū)別解析
在javascript中,用于檢測一個字符串是否匹配某個模式用的比較多的就是test和match方法。
1.match()方法
match是String的方法,參數(shù)是正則表達式,返回值是數(shù)組,沒有找到時返回的是null。
stringObj.match(rgExp) 其中stringObj是必選項,對其進行查找的string對象或字符串文字。rgExp是必選項,為包含正則表達式模式和可用標志的正則表達式對象。
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要帶引號??!因為檢測的是字符串。
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ū)別還是很大的,一個返回數(shù)組,一個返回布爾值,且作用的對象也是不一樣的,希望大家能有所收獲hhh?
到此這篇關(guān)于js正則函數(shù)中test和match的區(qū)別的文章就介紹到這了,更多相關(guān)js test和match的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
BootStrap實現(xiàn)帶關(guān)閉按鈕功能
這篇文章主要介紹了BootStrap實現(xiàn)帶關(guān)閉按鈕功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-02-02
JavaScript 復制對象與Object.assign方法無法實現(xiàn)深復制
這篇文章主要介紹了JavaScript 復制對象與Object.assign方法無法實現(xiàn)深復制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
JavaScript使用二分查找算法在數(shù)組中查找數(shù)據(jù)的方法
這篇文章主要介紹了JavaScript使用二分查找算法在數(shù)組中查找數(shù)據(jù)的方法,較為詳細的分析了二分查找法的原理與javascript實現(xiàn)技巧,需要的朋友可以參考下2015-04-04

