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这个方法。
原文地址:https://segmentfault.com/a/1190000018037747
原文地址:https://segmentfault.com/a/1190000018037747