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 相关文章推荐
从父页面读取和操作iframe中内容方法
Jul 25 Javascript
JavaScript中valueOf函数与toString方法深入理解
Dec 02 Javascript
JS简单的图片放大缩小的两种方法
Nov 11 Javascript
浅谈javascript中基本包装类型
Jun 03 Javascript
微信小程序 出现错误:{&quot;baseresponse&quot;:{&quot;errcode&quot;:-80002,&quot;errmsg&quot;:&quot;&quot;}}解决办法
Feb 23 Javascript
详解AngularJS脏检查机制及$timeout的妙用
Jun 19 Javascript
详解webpack异步加载业务模块
Jun 23 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
Sep 03 Javascript
JS实现简单随机3D骰子
Oct 24 Javascript
vue + elementUI实现省市县三级联动的方法示例
Oct 29 Javascript
vue路由缓存的几种实现方式小结
Feb 02 Javascript
将Vue组件库更换为按需加载的方法步骤
May 06 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
收音机发烧友应当熟知的100条知识
2021/03/02 无线电
mysql中存储过程、函数的一些问题
2007/02/14 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
javascript radio 联动效果
2009/03/04 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
python3 模拟登录v2ex实例讲解
2017/07/13 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
python绘制条形图方法代码详解
2017/12/19 Python
Python实现的随机森林算法与简单总结
2018/01/30 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
python实现简单的购物程序代码实例
2020/03/03 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
中专毕业个人的自荐信格式
2013/09/21 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
四年大学自我鉴定
2014/02/17 职场文书
珍惜水资源建议书
2014/03/12 职场文书
毕业生就业协议书
2014/04/11 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
个人求职信格式范文
2015/03/20 职场文书
教师节老师寄语
2015/05/28 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
详解MySQL的半同步
2021/04/22 MySQL