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 相关文章推荐
JavaScript 字符串连接性能优化
Dec 20 Javascript
通过url查找a元素应用案例
Apr 29 Javascript
jquery如何把数组变为字符串传到服务端并处理
Apr 30 Javascript
jQuery实现圣诞节礼物动画案例解析
Dec 25 Javascript
十个免费的web前端开发工具详细整理
Sep 18 Javascript
web前端页面生成exe可执行文件的方法
Feb 08 Javascript
深入浅析Vue.js中 computed和methods不同机制
Mar 22 Javascript
JS实现的JSON序列化操作简单示例
Jul 02 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 Javascript
微信小程序结合Storage实现搜索历史效果
May 18 Javascript
vue-resource:jsonp请求百度搜索的接口示例
Nov 09 Javascript
TypeScript 运行时类型检查补充工具
Sep 28 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
如何在PHP程序中防止盗链
2008/04/09 PHP
php随机输出名人名言的代码
2012/10/07 PHP
PHP实现删除字符串中任何字符的函数
2015/08/11 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
jQuery 使用手册(二)
2009/09/23 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
解决Antd 里面的select 选择框联动触发的问题
2020/10/24 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
[02:56]DOTA2英雄基础教程 巨魔战将
2013/12/10 DOTA
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
对numpy中shape的深入理解
2018/06/15 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
Python运算符+与+=的方法实例
2021/02/18 Python
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
委托书范本
2014/04/02 职场文书
大学生个人求职信例文
2014/07/07 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
六一亲子活动感想
2015/08/07 职场文书
医院病假条范文
2015/08/17 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
总结Python常用的魔法方法
2021/05/25 Python
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers