资讯专栏INFORMATION COLUMN

javascript中indexOf与search的区别(详解)

vspiders / 1003人阅读

摘要:方法方法用于检索字符串中指定的子字符串,活检索与正则表达式相匹配的子字符串。大多是时候用不是为了真的想知道子字符串的位置,而是想知道长字符串中有没有包含这个子字符串。

1.indexOf方法

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到返回-1。
语法:

stringObject.indexOf(searchvalue,fromindex)

说明:
该方法将从头到尾地检索字符串stringObject,看它是否含有子串searchvalue。开始检索的位置在字符串的fromindex处。如果没有fromindex参数则从字符串的开头检索。如果找到一个searchvalue,则返回searchvalue的第一次出现的位置。stringObjec中的字符串位置是从0开始的。
注意事项
indexOf()方法对大小写敏感。如果要检所的字符串值没有检索到,则返回-1。

var str = "hello world";
console.log(str.indexOf("hello")); ====>0
console.log(str.indexOf("World")); ====>-1
console.log(str.indexOf("world")); ====>6
2.search方法

search方法用于检索字符串中指定的子字符串,活检索与正则表达式相匹配的子字符串。如果没有找到,返回-1。
语法

说明
search() 方法不执行全局匹配,它将忽略标志 g。它同时忽略 regexp 的 lastIndex 属性,并且总是从字符串的开始进行检索,这意味着它总是返回 stringObject 的第一个匹配的位置。

注意事项
search() 方法对大小写敏感!

var str="hello World";
console.log(str.search(/World/)); ====>6
console.log(str.search(/world/)); ====>-1
console.log(str.search(/world/i); ====>6
3.indexOf与search的区别

抛砖引玉:search()方法也是同样返回目标自字符串索引值的。indexOf()和search()有什么区别呢?为什么时候该使用它,什么时候该使用search()这个方法呢?

首先要明确search()的参数必须是正则表达式,而indexOf()的参数只是普通的字符串。indexOf()是比search()更加底层的方法。

如果只是兑一个具体字符串来茶渣检索,那么使用indexOf()的系统资源消耗更小,效率更高;如果查找具有某些特征的字符串(例如查找以a开头,后面是数字的字符串),那么indexOf()就无能为力,必须要使用正则表达式和search()方法了。

大多是时候用indexOf()不是为了真的想知道子字符串的位置,而是想知道长字符串中有没有包含这个子字符串。若果返回索引为-1,那么说明没有,反之则有。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96254.html

相关文章

  • Javascript字符串常用方法详解

    摘要:属性里的字符串类似于数组,都是一个一个字符拼凑在一起组成的,因此可以用属性取得字符串的长度字符串常用的一些方法返回字符串的第个字符,如果不在之间,则返回一个空字符串。如果匹配成功,则返回正则表达式在字符串中首次匹配项的索引否则,返回。 字符串 字符串就是一个或多个排列在一起的字符,放在单引号或双引号之中。 abc abc length属性js里的字符串类似于数组,都是一个一个字...

    Wildcard 评论0 收藏0
  • 详解一套面试题

    摘要:作用域链,是由当前环境与上层环境的一系列变量对象组成,它保证了当前执行环境对符合访问权限的变量和函数的有序访问。 span的display值,文本example的颜色 example #passage { color: yellow;} .outside span{ color: green; display: block;} span { display: i...

    leanxi 评论0 收藏0
  • JavaScript 字符串实用常操纪要

    摘要:另外如果为负数,则表示从字符串尾部开始算起。将要搜寻的子字符串。从当前字符串的哪个索引位置开始搜寻子字符串默认为。否则则会返回一个数组,数组中存放所有符合要求的子字符串,并且没有和属性。 原文链接 JavaScript 字符串用于存储和处理文本。因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种...

    Harpsichord1207 评论0 收藏0
  • Javascript数组详解

    摘要:创建数组判断比是否是个数组取数组元素属性返回数组的成员数量。增加数组元素方法在数组的末尾增加一个或多个元素,并返回数组的新长度。表示要移除的数组元素的个数要添加进数组的元素最主要的的用途是向数组的中部插入元素。 数组的定义 数组是按序号排列的一组值,每个值的位置都有编号(从0开始)。数组本质上是一种特殊的对象。它的键名是按(0,1,2...)排列的一组数字。 创建数组: var a...

    geekidentity 评论0 收藏0
  • javascript字符串方法学习汇总

    摘要:返回字符串中指定位置的字符返回指定位置的字符的编码输出用于连接多个字符串。输出方法用于把一个字符串分割成字符串数组。返回布尔值,表示参数字符串是否在原字符串的头部。 1、charAt(index):返回字符串中指定位置的字符; charCodeAt(index):返回指定位置的字符的Unicode编码 var str = abcdefghi; console.log(str.cha...

    microelec 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<