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 相关文章推荐
做网页的一些技巧
Feb 01 Javascript
javascript中[]和{}对象使用介绍
Mar 20 Javascript
改变隐藏的input中value的值代码
Dec 30 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
Jan 16 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
深入理解JavaScript中的对象
Jun 04 Javascript
JavaScript仿微博输入框效果(案例分析)
Dec 06 Javascript
jquery实现输入框实时输入触发事件代码
Dec 21 Javascript
jQuery给表格添加分页效果
Mar 02 Javascript
AngularJS中的拦截器实例详解
Apr 07 Javascript
基于jquery实现多选下拉列表
Aug 02 jQuery
javascript函数式编程基础
Sep 15 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中利用XML技术构造远程服务(上)
2006/10/09 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
点击弹出层外区域关闭弹出层jquery特效示例
2013/08/25 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
go和python调用其它程序并得到程序输出
2014/02/10 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
python解决字符串倒序输出的问题
2018/06/25 Python
Python对切片命名的实现方法
2018/10/16 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
详解rem 适配布局
2018/10/31 HTML / CSS
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
一个SQL面试题
2014/08/21 面试题
给护士表扬信
2014/01/19 职场文书
创建省级文明单位实施方案
2014/02/27 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
写给领导的感谢信
2015/01/22 职场文书
python垃圾回收机制原理分析
2022/04/13 Python
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers