文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

js如何判断字符串中是否包含某个字符串

2023-07-05 17:03

关注

本文小编为大家详细介绍“js如何判断字符串中是否包含某个字符串”,内容详细,步骤清晰,细节处理妥当,希望这篇“js如何判断字符串中是否包含某个字符串”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

indexOf方法

根据国外大神的测试结果显示,indexOf在速度上可能是最快的,因此推荐大家在日常中还是经常使用indexOf这个方法。

ES5或者更老版本

String.prototype.indexOf方法用来返回一个字符串在另一个字符串中的位置,如果没找到那就返回 -1 。

代码如下:

var string = "foo",    substring = "oo";string.indexOf(substring) !== -1;//true

如果大量使用可以定义一个函数,方便调用

function instr(str, find) {    if (str.indexOf(find) != -1) {        return 1;    } else {        return 0;    }}

string.lastIndexOf()

和indexOf()的区别,从字符串的尾部开始查找

返回值:匹配成功的第一个字符的下标,未匹配则返回-1

用法:string.indexOf(searchValue, start)

let searchVal = 'yyds'let searchResult = searchVal.lastIndexOf('y')console.log(searchResult) // 1

ES6 includes 方法

返回值:Boolean

用法: string.includes(searchValue, start) 第二个参数从是指定下标开始查找

兼容补丁(polyfill)

if (!String.prototype.includes) {  String.prototype.includes = function(search, start) {    'use strict';    if (typeof start !== 'number') {      start = 0;    }    if (start + search.length > this.length) {      return false;    } else {      return this.indexOf(search, start) !== -1;    }  };}

示例

var str = 'To be, or not to be, that is the question.';console.log(str.includes('To be'));       // trueconsole.log(str.includes('question'));    // trueconsole.log(str.includes('nonexistent')); // falseconsole.log(str.includes('To be', 1));    // falseconsole.log(str.includes('TO BE'));       // false

当包含时返回true,不包含时返回false,代码实例如下:

var string = "foo";        var substring1 = "oo";        var substring2 = "oq";        string.includes(substring1); //true        string.includes(substring2); //false
 let searchVal = 'yyds' let searchResult = searchVal.includes('y', 1) console.log(searchResult) // true

string.search()

定义和用法

search() 方法将字符串与正则表达式匹配。

注释:如果搜索值为字符串,则转换为正则表达式。

search() 方法返回第一个匹配项的索引(位置)。

如果未找到匹配项,则 search() 方法返回 -1。

提示:search() 方法区分大小写。

返回值:匹配成功的第一个字符的下标,未匹配则返回-1

用法:string.search(searchValue)

search方法与indexOf类似,用来返回一个字符串在另一个字符串中的位置,如果没找到那就返回-1,。

唯一需要注意的是,search方法的参数是一个正则表达式。

代码如下:

var string = "foo",    expr = /oo/;string.search(expr);// 返回1
 let searchVal = 'yyds' let searchResult = searchVal.search('y') console.log(searchResult) // 0

不区分大小写的搜索

let text = "Mr. Blue has a blue house";let position = text.search(/blue/i);

lodash includes方法

使用Javascript工具库lodash的includes方法,该方法返回一个布尔值,代码如下:

_.includes('foobar', 'ob'); // → true

RegExp正则表达式

使用正则表达式的match来判断是否包含,代码如下:

var string = "foo",    expr = /oo/;  // no quotes hereexpr.test(string);//true

Match方法

使用match的方法,该方法字符串不匹配的话就返回null,代码如下:

var string = "foo",    expr = /oo/,    expr2 = /oa/;string.match(expr);//["oo", index: 1, input: "foo", groups: undefined]string.match(expr2);//null

读到这里,这篇“js如何判断字符串中是否包含某个字符串”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯