indexOf 和 lastIndexOf 使用示例介绍


Posted in Javascript onSeptember 02, 2014

indexOf 的用途是在一个字符串中寻找一个字的位置

lastIndexOf 也是找字 , 它们俩的区别是前者从字符串头开始找,后者是从字符串末端开始找。

一但指定的字被找到,就会返回这个字的当前的位置号码。如果没有找到就返回 -1.

var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/")); //0
console.log(str.lastIndexOf("/")); //39

参数1是要寻找的字,必须是str,正则不行哦。

此外它还接受第2个参数。Number类型, 这个让我们可以指定寻找的范围。

var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/", 0)); //0 默认情况是 0
console.log(str.lastIndexOf("/", str.length)); //39 默认情况是 str.length

两个方法的控制是不同方向的 。

假设 indexOf 设置 10 , 那么查找范围是 从10到str.length(字末)

lastIndexOf 设置 10 的话 , 查找范围会是 从10到 0 (字首)

这个要注意了。

ps : 设置成负数比如 -500 ,会有奇怪现象,我自己搞不懂 = = " ;

有时我们会希望指定找第n个.那么我们就通过上面的方法来实现了。

比如 :

String.prototype.myIndexOf = function (searchValue, startIndex) { 
var text = this;
startIndex = startIndex || 1; 
var is_negative = startIndex < 0;
var ipos = (is_negative) ? text.length + 1 : 0 - 1; 
var loopTime = Math.abs(startIndex);
for (var i = 0; i < loopTime ; i++) {
ipos = (is_negative) ? text.lastIndexOf(searchValue, ipos - 1) : text.indexOf(searchValue, ipos + 1);
if (ipos == -1) break;
}
return ipos;
}
var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.myIndexOf("/", 3)); //20
console.log(str.myIndexOf("/", -2)); //25 倒数第2个的位置
Javascript 相关文章推荐
javascript 控制 html元素 显示/隐藏实现代码
Sep 01 Javascript
用按钮控制iframe显示的网页实现方法
Feb 04 Javascript
判断JS对象是否拥有某种属性的两种方式
Dec 02 Javascript
js简单实现Select互换数据的方法
Aug 17 Javascript
jQuery动态添加
Apr 07 Javascript
JQuery控制DIV的选取实现方法
Sep 18 Javascript
javascript简易画板开发
Apr 12 Javascript
js中作用域的实例解析
Mar 16 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
Jun 03 Javascript
浅谈es6中export和export default的作用及区别
Feb 07 Javascript
详解如何用typescript开发koa2的二三事
Nov 13 Javascript
在vue和element-ui的table中实现分页复选功能
Dec 04 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 #Javascript
JavaScript判断文件上传类型的方法
Sep 02 #Javascript
JavaScript中九种常用排序算法
Sep 02 #Javascript
事件委托与阻止冒泡阻止其父元素事件触发
Sep 02 #Javascript
解决jquery版本冲突的有效方法
Sep 02 #Javascript
ajaxFileUpload.js插件支持多文件上传的方法
Sep 02 #Javascript
引用其它js时如何同时处理多个window.onload事件
Sep 02 #Javascript
You might like
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
原生js实现日期联动
2015/01/12 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
清空元素html(&quot;&quot;) innerHTML=&quot;&quot; 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
jQuery实现简单的Ajax调用功能示例
2019/02/15 jQuery
学习node.js 断言的使用详解
2019/03/18 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
基于Pandas读取csv文件Error的总结
2018/06/15 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
Python引用计数操作示例
2018/08/23 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
竞选部门副经理的自荐书范文
2014/02/11 职场文书
个性婚礼策划方案
2014/05/17 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
小学生读书笔记范文
2015/06/30 职场文书
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python
避坑之 JavaScript 中的toFixed()和正则表达式
2022/04/19 Javascript