Javascript檢查一個字串是否包含另一個字串方法總結
ES6 includes 方法
當包含時返回true,不包含時返回false,程式碼例項如下:
var string = "foo"; var substring1 = "oo"; var substring2 = "oq"; string.includes(substring1); //true string.includes(substring2); //false
ES5或者更老版本 indexOf方法
String.prototype.indexOf方法用來返回一個字串在另一個字串中的位置,如果沒找到那就返回 -1 。程式碼如下:
var string = "foo", substring = "oo"; string.indexOf(substring) !== -1;//true
search方法
search方法與indexOf類似,用來返回一個字串在另一個字串中的位置,如果沒找到那就返回-1,。唯一需要注意的是,search方法的引數是一個正則表示式。程式碼如下:
var string = "foo", expr = /oo/; string.search(expr);// 返回1
lodash includes方法
使用Javascript工具庫lodash的includes方法,該方法返回一個布林值,程式碼如下:
_.includes('foobar', 'ob'); // → true
RegExp正則表示式
使用正則表示式的match來判斷是否包含,程式碼如下:
var string = "foo", expr = /oo/;// no quotes here expr.test(string);//true
Match方法
使用match的方法,該方法字串不匹配的話就返回null,程式碼如下:
var string = "foo", expr = /oo/, expr2 = /oa/; string.match(expr);//["oo", index: 1, input: "foo", groups: undefined] string.match(expr2);//null
總結
根據國外大神的測試結果顯示,indexOf在速度上可能是最快的,因此推薦大家在日常中還是經常使用indexOf這個方法。