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://www.pipipi.net/code/574.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值