本文说明了JS确定一个字符串是否包含子串。分享给你供你参考。以下是如下:

在我们的日常开发的前端,我们经常会遇到判断一个字符串包含一个字符串。在这里,我们将探索一些方法来解决这个需要,并正确地使用它们。理想情况下,我们所寻找的是一种方法,它匹配我们的x包含y并返回true或false。

一、string.prototype.indexof和String.prototype.lastIndexOf

这两种方法可能是我们最容易想到的。如果我们包含子串,我们会返回大于或等于0的指标,否则我们将回到1,这是不令人满意的。

复制代码如下:我的博客名是本杰明,主要关注前端开发和用户体验

substr = 本杰明;



功能则包含(STR,substr){

返回str.indexof(孔)> = 0;

}



/真

console.log(则包含(STR,substr));

二,string.prototype.search

我们认为这string.prototype.search方法,因为搜索方法的参数是一个正则表达式,因此,相同的指标。

复制代码如下:我的博客名是本杰明,主要关注前端开发和用户体验

substr = 本杰明;



功能则包含(STR,substr){

返回新的正则表达式(函数)试验(STR);

}



/真

console.log(则包含(STR,substr));

这种方法比IndexOf方法看,它直接返回true或false,和方法名称测试比指标更多的语义。

三、String.prototype.contains

复制代码如下:我的博客名是本杰明,主要关注前端开发和用户体验

substr = 本杰明;



功能则包含(STR,substr){

返回str.contains(中);

}



/真

console.log(则包含(STR,substr));

这种方法目前只支持Firefox仍然是ECMAscript 6稿。该方法满足上述理想情况。详情请按此处。如果你想使用包含的方法,你可以参考第三方库string.js,点击这里在这个网站上下载string.js源代码实现:

复制代码代码如下:包含:函数(SS){

返回this.s.indexof(SS)> = 0;

},

其他方法应予以补充。

当然,在性能问题上,哪种方法更快,还需要测试。感兴趣的朋友可能会亲自测试它。

希望本文能对大家的javascript程序设计有所帮助。