js判断一个字符串是否包含一个子串的方法_javascript技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了js判断一个字符串是否包含一个子串的方法_javascript技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1760字,纯文字阅读大概需要3分钟。
内容图文
![js判断一个字符串是否包含一个子串的方法_javascript技巧](/upload/InfoBanner/zyjiaocheng/324/3743831a27254cf8964545f2c3f9b5e2.jpg)
在我们前端日常开发中,经常会遇到判断一个字符串中是否包含某个子串,这里我们将去探究一些解决此种需求的方法以及正确的使用它们。理想情况下,我们要找的是一个能匹配我们的目的(if x contains y)的方法,并返回true或false。
一、String.prototype.indexOf和String.prototype.lastIndexOf
这两个方法,可能是我们最容易想到的,如果包含子串,则返回大于等于0的索引,否则返回-1,没有达到我们的理想情况。
substr = "Benjamin";
function isContains(str, substr) {
return str.indexOf(substr) >= 0;
}
//true
console.log(isContains(str, substr));
二、String.prototype.search
我们想到了String.prototype.search方法,因search方法的参数是一个正则表达式,所以和indexOf的情况相同。
substr = "Benjamin";
function isContains(str, substr) {
return new RegExp(substr).test(str);
}
//true
console.log(isContains(str, substr));
这个方法比indexOf方法看起来好点,该方法直接返回true or false,同时方法名称test比indexOf更有语义性。
三、String.prototype.contains
substr = "Benjamin";
function isContains(str, substr) {
return str.contains(substr);
}
//true
console.log(isContains(str, substr));
此方法目前只有Firefox支持,还处于ECMAScript 6草案中。这个方法满足了上面提到的理想情况。详情请点击这里。如果你想使用contains方法,可以参考第三方库string.js,点击此处本站下载string.js。源码实现:
return this.s.indexOf(ss) >= 0;
},
其它方法待补充。。。
当然在性能问题上,使用哪种方法更快,还有待测试。感兴趣的朋友不妨亲自动手测试一下。
希望本文所述对大家的javascript程序设计有所帮助。
内容总结
以上是互联网集市为您收集整理的js判断一个字符串是否包含一个子串的方法_javascript技巧全部内容,希望文章能够帮你解决js判断一个字符串是否包含一个子串的方法_javascript技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。