在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()不仅可以用于检索字符串,还可以用于检索单个字符。