js中,indexOf() lastIndexOf()区别

本文介绍了一种使用JavaScript来实现从前和从后查找字符串的方法。通过简单的HTML页面输入和两个按钮触发,利用`indexOf()`和`lastIndexOf()`函数,可以轻松找到指定子串的位置。这不仅适用于初学者了解基本的字符串操作,也适合有一定基础的开发者巩固相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<body>输入字符串:<input type="text" id="text"> 找字符串:<input type="text" id="index"><button id="btn1">从前找</button><button id="btn2">从后找</button>
</body>
</html>
  
<script type="text/javascript">


function $(id){return document.getElementById(id);}
$("btn1").onclick = function(){
  alert($("text").value.indexOf($("index").value));//indexOf(),参数为字符串,求索引,从前面开始返回abcdb,求b,返回1,第二个忽略
}


$("btn2").onclick = function(){
 alert( $("text").value.lastIndexOf($("index").value));//lastIndexOf()从后面开始返回,abcdb,求b,返回4,第一个忽略

}



var id1 = document.getElementById("id1").innerHTML;
var id2 = document.getElementById("id2").innerHTML;


function onbtnclick(id,txt){


 document.getElementById(id).onclick = function(){
    this.nextSibling.innerHTML = txt;


  }
}
onbtnclick("btn",id1.concat(id2));//字符串拼接

### JavaScript `indexOf` 和 `lastIndexOf` 方法的用法 #### 使用场景 字符串对象提供了多种用于查找子串的方法,其中两个常用的是 `indexOf` 和 `lastIndexOf`。这两个方法都返回指定值首次出现的位置索引;如果未找到,则返回 `-1`。 #### `indexOf` 方法详解 此方法从左向右搜索给定的子串,并返回其第一次出现处的字符位置[^3]: ```javascript var str = "Hello world"; console.log(str.indexOf("world")); // 输出: 6 ``` 当目标不存在于源字符串内时会得到负数的结果: ```javascript var str = "Hello world"; console.log(str.indexOf("universe")); // 输出: -1 ``` 还可以提供第二个参数来设定开始搜索的位置: ```javascript var str = "Blue Whale"; console.log(str.indexOf('l', 4)); // 输出: 9 (因为是从第四个位置之后找'l') ``` #### `lastIndexOf` 方法详解 该函数同样用来定位某个特定值所在之处,不过它是按照由右至左的方向来进行扫描并给出最后一次匹配项所在的下标: ```javascript var sentence = 'To be or not to be.'; console.log(sentence.lastIndexOf('be')); // 输出: 17 ('be'最后出现的地方) ``` 对于多重复现的情况特别有用: ```javascript var text = "The quick brown fox jumps over the lazy dog."; console.log(text.lastIndexOf("the")); // 输出: 31 (区分大小写) ``` 值得注意的是,在调用这些方法之前创建了一个新的字符串实例: ```javascript var txt = new String("string"); console.log(txt.indexOf("ri")); // 正常工作 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值