Javascript检查一个字符串是否包含另外一个字符串方法总结

站长博客:https://www.pipipi.net/正则表达式

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方法的参数是一个正则表达式。代码以下:.net

var string = "foo",
    expr = /oo/;
string.search(expr);// 返回1

lodash includes方法
使用Javascript工具库lodash的includes方法,该方法返回一个布尔值,代码以下:prototype

_.includes('foobar', 'ob');
// → true

RegExp正则表达式
使用正则表达式的match来判断是否包含,代码以下:code

var string = "foo",
    expr = /oo/;  // no quotes here
expr.test(string);//true

Match方法
使用match的方法,该方法字符串不匹配的话就返回null,代码以下:ip

var string = "foo",
    expr = /oo/,
    expr2 = /oa/;
string.match(expr);//["oo", index: 1, input: "foo", groups: undefined]
string.match(expr2);//null

总结
根据国外大神的测试结果显示,indexOf在速度上多是最快的,所以推荐你们在平常中仍是常用indexOf这个方法。字符串