js判断一个字符串是否包含一个子串的方法


Posted in Javascript onJanuary 26, 2015

本文实例讲述了js判断一个字符串是否包含一个子串的方法。分享给大家供大家参考。具体如下:

在我们前端日常开发中,经常会遇到判断一个字符串中是否包含某个子串,这里我们将去探究一些解决此种需求的方法以及正确的使用它们。理想情况下,我们要找的是一个能匹配我们的目的(if x contains y)的方法,并返回true或false。

一、String.prototype.indexOf和String.prototype.lastIndexOf

这两个方法,可能是我们最容易想到的,如果包含子串,则返回大于等于0的索引,否则返回-1,没有达到我们的理想情况。

var str    = "My blog name is Benjamin-专注前端开发和用户体验",

    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的情况相同。

var str    = "My blog name is Benjamin-专注前端开发和用户体验",

    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

var str    = "My blog name is Benjamin-专注前端开发和用户体验",

    substr = "Benjamin";

 

function isContains(str, substr) {

    return str.contains(substr);

}

 

//true

console.log(isContains(str, substr));

此方法目前只有Firefox支持,还处于ECMAScript 6草案中。这个方法满足了上面提到的理想情况。详情请点击这里。如果你想使用contains方法,可以参考第三方库string.js,点击此处本站下载string.js。源码实现:
contains: function(ss) {

  return this.s.indexOf(ss) >= 0;

},

其它方法待补充。。。

当然在性能问题上,使用哪种方法更快,还有待测试。感兴趣的朋友不妨亲自动手测试一下。

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

Javascript 相关文章推荐
CLASS_CONFUSION JS混淆 全源码
Dec 12 Javascript
关于js数组去重的问题小结
Jan 24 Javascript
jQuery获取当前对象标签名称的方法
Feb 07 Javascript
javascript时间函数大全
Jun 30 Javascript
jQuery中removeProp()方法用法实例
Jan 05 Javascript
AngularJS实用开发技巧(推荐)
Jul 13 Javascript
vue货币过滤器的实现方法
Apr 01 Javascript
vue添加axios,并且指定baseurl的方法
Sep 19 Javascript
vue使用echarts图表的详细方法
Oct 22 Javascript
微信小程序实现简单评论功能
Nov 28 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
js实现简单扫雷
Nov 27 Javascript
javascript中Object使用详解
Jan 26 #Javascript
JQuery中的事件及动画用法实例
Jan 26 #Javascript
javascript折半查找详解
Jan 26 #Javascript
JavaScript数据类型检测代码分享
Jan 26 #Javascript
浅谈Javascript中的Function与Object
Jan 26 #Javascript
javascript实现动态加载CSS
Jan 26 #Javascript
使用jQuery实现返回顶部
Jan 26 #Javascript
You might like
《心理测量者3》剧场版动画预告
2020/03/02 日漫
JavaScript中的Location地址对象
2008/01/16 Javascript
Javascript学习笔记一 之 数据类型
2010/12/15 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
2015/09/17 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
Vue 短信验证码组件开发详解
2017/02/14 Javascript
selenium 与 chrome 进行qq登录并发邮件操作实例详解
2017/04/06 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python 条件判断的缩写方法
2008/09/06 Python
python使用cPickle模块序列化实例
2014/09/25 Python
python使用点操作符访问字典(dict)数据的方法
2015/03/16 Python
flask框架中勾子函数的使用详解
2018/08/01 Python
python将.ppm格式图片转换成.jpg格式文件的方法
2018/10/27 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
手机促销活动方案
2014/02/05 职场文书
决心书标准格式
2014/03/11 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
爱心捐款感谢信
2015/01/20 职场文书
教师工作态度自我评价
2015/03/05 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
行政申诉状范文
2015/05/20 职场文书
电影开国大典观后感
2015/06/04 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书