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 对象的属性和方法4种不同的类型
Mar 19 Javascript
jquery-easyui关闭tab自动切换到前一个tab
Jul 29 Javascript
javascript操作JSON的要领总结
Dec 09 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
Feb 05 Javascript
浅谈JavaScript中的string拥有方法的原因
Aug 28 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 Javascript
微信小程序 wxapp导航 navigator详解
Oct 31 Javascript
js输入框使用正则表达式校验输入内容的实例
Feb 12 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
Nov 11 Javascript
深入分析element ScrollBar滚动组件源码
Jan 22 Javascript
Vue中全局变量的定义和使用
Jun 05 Javascript
vue和H5 draggable实现拖拽并替换效果
Jul 29 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/08/17 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
Javascript中的apply()方法浅析
2015/03/15 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
2种简单的js倒计时方式
2017/10/20 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
理解Python垃圾回收机制
2016/02/12 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
Pytorch转tflite方式
2020/05/25 Python
Python远程方法调用实现过程解析
2020/07/28 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
女性时尚在线:IVRose
2019/02/23 全球购物
高校毕业生自我鉴定
2013/10/27 职场文书
公司董事长岗位职责
2014/06/08 职场文书
专题组织生活会方案
2014/06/15 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
实战Python爬虫爬取酷我音乐
2022/04/11 Python
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers