在JavaScript中,可以使用indexOf()方法来找出“某个指定字符串”在字符串中首次出现的下标位置,也可以使用lastIndexOf()来找出“某个指定字符串”在字符串中最后出现的下标位置。

语法:

字符串名.indexOf(指定字符串) 字符串名.lastIndexOf(指定字符串)

说明:

如果字符串中包含“指定字符串”,indexOf()就会返回指定字符串首次出现的下标,而lastIndexOf()就会返回指定字符串最后出现的下标;如果字符串中不包含“指定字符串”,indexOf()或lastIndexOf()就会返回-1。

举例:indexOf()

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var str = "Hello Lvye!"; document.write(str.indexOf("lvye") + "<br/>"); document.write(str.indexOf("Lvye") + "<br/>"); document.write(str.indexOf("Lvyer")); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

对于str.indexOf("lvye"),由于str不包含“lvye”,所以返回-1;

对于str.indexOf("Lvye"),由于str包含“Lvye”,所以返回“Lvye”首次出现的下标位置。字符串的位置是从0开始的。

对于str.indexOf("Lvyer"),由于str不包含“Lvyer”,所以返回-1。特别注意一下,str包含“Lvye”,但不包含“Lvyer”。

在实际开发中,indexOf()用得非常多,我们要重点掌握一下。对于检索字符串,除了indexOf()这个方法外,JavaScript还为我们提供了另外2种方法:match()和search()。

不过3种方法都大同小异,我们只需要掌握indexOf()一个就够用了。为了减轻记忆负担,对于match()和search(),我们可以直接忽略掉。

举例:

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var str = "Hello Lvye!"; document.write("e首次出现的下标是:" + str.indexOf("e") + "<br/>"); document.write("e最后出现的下标是:" + str.lastIndexOf("e")); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

indexOf()和lastIndexOf()不仅可以用于检索字符串,还可以用于检索单个字符。