JS中的indexOf和lastIndexOf是处理字符串的一个非常好用的函数,下面对它们的定义、用法、注意事项以及使用建议分别作介绍。
1、strObj.indexOf(subString[, startIndex])
功能:返回源字符串内第一次出现指定子字符串的首个字符在源字符串中的索引值(源字符串内第n个字符的索引值为n-1),是整数。
参数含义:
strObj是源字符串,必选项。
subString是在源字符串对象中查找的子字符串,必选项。
startIndex是开始索引值,indexOf函数是从源字符串的索引值为startIndex的字符(即第startIndex+1个字符)开始查找,可选项。省略时,从源字符串索引值为0的字符(即第1个字符)开始查找。
实例分析:
用法1(不指定startIndex值):var i="huoshandao.com".indexOfOf("a"):则i=5
相当于var i="huoshandao.com".indexOf("a",0)
用法2(指定startIndex值):var i="huoshandao.com".indexOf("a",6):则i=8
提示:可以用alert(i);语句测试结果,以下例子也一样。
注意事项
1)strObj既可以是字符串,也可以是字符串变量。
[例子]
strObj为字符串:var i="huoshandao.com".indexOf("."):
strObj为字符串变量:var str="huoshandao.com";var i=str.indexOf(".");
2)subString不能为空字符串,如果为空字符串,返回值为0,但可以是空格。
[例子]
subString为空字符串:var i="huo shan dao".indexOf(""):则i=0
subString为空格字符串:var i="huo shan dao".indexOf(" "):则i=3
3)第1个字符的startIndex值是0,是最小索引值;第2个字符的startIndex值是1;最后一个字符的startIndex值则是源字符串长度减1,是最大索引值。
4)如果没有找到子字符串,则返回 -1。
[例子]
var i="huoshandao.com".indexOf("huosan"):则i=-1
5)如果startIndex是负数,则相当于startIndex等于0的情况。如果它大于最大索引值,则相当于startIndex等于最大索引值的情况。
[例子]
startIndex为负数: var i="huoshandao.com".indexOf(".",-3);则i=10
与var i="huoshandao.com".indexOf(".",0);结果一样
startIndex大于等于字符串长度:var i="huoshandao.com_".indexOf("_",16);则i=14
与var i="huoshandao.com_".indexOf("_",14);结果一样
2、strObj.lastIndexOf(subString[, startIndex])
indexOf函数是从左向右查找,但实际应用中我们有时想得到从右向左出现某个字符或字符串的首个字符索引值,针对这种情况,JS给出另外一个函数lastIndexOf来解决这个问题,使用方法和indexOf相似,只是它从右向左查找而已,具体就不再重复,简单举几个例子,和indexOf作比较:
例1:var i="huo.shan.dao.com".lastIndexOf(".");则i=10而var i="huo.shan.dao.com".indexOf(".");的i=3
例2:var i="huoshandao.com_".lastIndexOf("_",16);则i=-1而var i="huoshandao.com_".indexOf("_",16);则i=14
3、使用建议
为了避免出乎意料的结果,除非有特殊用途,建议遵循以下原则:
1、startIndex为非负数,并且不大于最大索引值。如果startIndex是变量,要先判断其值是否在这个范围内。
2、如果子字符串subString是变量的话,要先判断其是否为空再使用indexOf或lastIndexOf函数。
3、输入子字符串时要特别注意全角字符和半角字符的区别。
4、注意indexOf和lastIndexOf里面的大小写,JS对大小写非常敏感。建议用Dreamweaver编程,如果函数名大小写写错的话,函数颜色是黑色,写对的话则会变成另外一种颜色。
以上实例均亲自测试通过,特此声明,有笔误之处欢迎指正!
分享到:
相关推荐
JavaScript中的indexOf()和lastIndexOf()方法是用于查找字符串中某个子字符串出现的位置的。这两个方法在处理字符串时非常实用,尤其是对于初学者来说,它们是学习JavaScript字符串操作的基础知识之一。下面将详细...
通常来说,`indexOf` 和 `lastIndexOf` 在某些浏览器中会更快一些。 #### 七、应用场景 - **网页开发**:在处理HTML文档和DOM元素时,经常需要从字符串中提取特定部分的信息。 - **数据处理**:在处理CSV文件、...
js中substr,substring,indexOf,lastIndexOf等的用法 1.substrsubstr(start,length)表示从start位置开始,截取length长度的字符串。 var src=”images/off_1.png”;alert(src.substr(7,3)); 弹出值为:off ...
本文将详细介绍JavaScript中一些常用字符串方法的用法,包括 substr、substring、indexOf、lastIndexOf、split 和 replace。通过这些方法,可以轻松地对字符串进行提取、分割和替换操作。 首先,让我们来看看 ...
标题中提及的JavaScript中的indexOf、lastIndexOf和substring方法是字符串对象提供的几个基础且非常有用的方法,用于搜索字符串中的子字符串位置或者截取字符串。以下是对这些方法的详细知识点解说。 首先,讨论...
JavaScript 中的 `indexOf` 方法是用于查找字符串中特定字符或子字符串首次出现的位置。这个方法对于处理文本数据和字符串操作非常有用,尤其是在网页开发中。下面将详细介绍 `indexOf` 的用法和相关概念。 ### `...
INSTR的第三个参数为1时,实现的是indexOf功能。... 您可能感兴趣的文章:asp.net的IndexOf,LastIndexOf,IndexOfAny和LastIndexOfAny的用法javascript Split方法,indexOf方法、lastIndexOf 方法和subst
在JavaScript中,`indexOf`和`lastIndexOf`是两个非常重要的字符串方法,它们用于在字符串中查找特定子字符串的位置。这两个方法都返回子字符串在原字符串中的索引,如果找不到则返回-1。 首先,`indexOf`方法从...
总结来说,`indexOf`和`lastIndexOf`是JavaScript中处理字符串查找的重要工具,它们可以根据需求灵活地查找子字符串的位置,无论是从头到尾还是从尾到头。在实际编程中,这两个方法经常被用来进行条件判断、数据过滤...
JavaScript 字符串处理方法 JavaScript 语言中提供了多种字符串处理...JavaScript 中的 Split 方法、indexOf 方法、lastIndexOf 方法和 substring 方法都是字符串处理中的重要方法,广泛应用于字符串的操作和处理。
本篇内容将重点介绍如何使用`indexOf`、`slice`、`replace`和`lastIndexOf`等方法在数组中进行元素的查找和替换。 首先,我们来看`indexOf`方法。`indexOf`是JavaScript数组的一个内置方法,用于查找元素在数组中的...
JavaScript中的indexOf()和lastIndexOf()方法是用于在字符串中查找特定子字符串的两个核心函数。它们可以帮助开发者在处理文本数据时进行高效的搜索和判断。在本文中,我们将深入探讨这两个方法的工作原理、用法以及...
总结来说,`indexOf`是JavaScript中用于查找和定位子串或值的有力工具,无论是在字符串还是数组中。了解其各种用法和扩展可以帮助开发者更高效地处理数据。希望这篇文章能帮助到那些正在学习JavaScript的朋友,提升...
在微信小程序中,由于原生JavaScript的某些方法可能不被支持,例如`indexOf`,开发者需要寻找替代方案来实现相同的功能。本篇文章将探讨如何在微信小程序中替换`indexOf`方法,以达到查找字符串中子串位置的效果。 ...
`jQuery`库虽然不直接提供`indexOf()`方法,但这个方法是JavaScript的原生功能,因此在使用`jQuery`时,依然可以直接调用JavaScript的`indexOf()`和`lastIndexOf()`来处理字符串或数组中的元素定位问题。这两个方法...