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 相关文章推荐
FireFox JavaScript全局Event对象
Jun 14 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
Nov 17 Javascript
jquery $.ajax相关用法分享
Mar 16 Javascript
javascript中的Function.prototye.bind
Jun 25 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 Javascript
Javascript模仿淘宝信用评价实例(附源码)
Nov 26 Javascript
学习Javascript面向对象编程之封装
Feb 23 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
Jul 22 Javascript
Javascript 跨域知识详细介绍
Oct 30 Javascript
js获取隐藏元素的宽高
Feb 24 Javascript
bootstrap 设置checkbox部分选中效果
Apr 20 Javascript
基于datepicker定义自己的angular时间组件的示例
Mar 14 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
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
PHP句法规则详解 入门学习
2011/11/09 PHP
thinkphp普通查询与表达式查询实例分析
2014/11/24 PHP
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
javascript常见操作汇总
2014/09/03 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
Angularjs在初始化未完毕时出现闪烁问题的解决方法分析
2016/08/05 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
Bootstrap与Angularjs的模态框实例代码
2017/08/03 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
Django返回json数据用法示例
2016/09/18 Python
Python决策树分类算法学习
2017/12/22 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
求职自荐信格式
2013/12/04 职场文书
小学教师师德感言
2014/02/10 职场文书
经典英文广告词
2014/03/18 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
师德师风个人整改措施
2014/10/27 职场文书
三八妇女节寄语
2015/02/27 职场文书
婚礼领导致辞大全
2015/07/28 职场文书