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 相关文章推荐
在线编辑器中换行与内容自动提取
Apr 24 Javascript
用JS写的一个TableView控件代码
Jan 23 Javascript
JS模式之单例模式基本用法
Jun 30 Javascript
详解Vue生命周期的示例
Mar 10 Javascript
详谈angularjs中路由页面强制更新的问题
Apr 24 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
Dec 06 Javascript
JavaScript随机数的组合问题案例分析
May 16 Javascript
在Echarts图中给坐标轴加一个标识线markLine
Jul 20 Javascript
JavaScript 中判断变量是否为数字的示例代码
Oct 22 Javascript
JavaScript中的Proxy对象
Nov 27 Javascript
Java 生成随机字符的示例代码
Jan 13 Javascript
vue实现按钮切换图片
Jan 20 Vue.js
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
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
JS实现星星评分功能实例代码(两种方法)
2016/06/09 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
python基础教程之循环介绍
2014/08/29 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
Python变量和数据类型详解
2017/02/15 Python
关于Python如何避免循环导入问题详解
2017/09/14 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
python文字转语音的实例代码分析
2019/11/12 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
pandas中ix的使用详细讲解
2020/03/09 Python
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
物流管理专业应届生求职信
2013/11/21 职场文书
高二学生评语大全
2014/04/25 职场文书
电话客服工作职责
2014/07/27 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS