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 混合的构造函数和原型方式,动态原型方式
Dec 07 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
Jan 25 Javascript
jquery制作弹窗提示窗口代码分享
Mar 02 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
Mar 28 Javascript
jQuery实现ctrl+enter(回车)提交表单
Oct 19 Javascript
谈一谈JS消息机制和事件机制的理解
Apr 14 Javascript
javascript实现日期三级联动下拉框选择菜单
Dec 03 Javascript
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
Node.js动手撸一个静态资源服务器的方法
Mar 09 Javascript
详解使用WebPack搭建React开发环境
Aug 06 Javascript
layer父页获取弹出层输入框里面的值方法
Sep 02 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
Feb 11 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
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
2018/05/31 jQuery
js原生map实现的方法总结
2020/01/19 Javascript
js 函数性能比较方法
2020/08/24 Javascript
vue点击Dashboard不同内容 跳转到同一表格的实例
2020/11/13 Javascript
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python 过滤字符串的技巧,map与itertools.imap
2008/09/06 Python
Python数组条件过滤filter函数使用示例
2014/07/22 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
Python中一些深不见底的“坑”
2019/06/12 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
Python一键安装全部依赖包的方法
2019/08/12 Python
pygame实现五子棋游戏
2019/10/29 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
维德科技C#面试题笔试题
2015/12/09 面试题
旅游网创业计划书
2014/01/31 职场文书
2014春晚主持词
2014/03/25 职场文书
实习推荐信
2014/05/10 职场文书
承诺书格式范文
2014/06/03 职场文书
新闻学专业求职信
2014/07/28 职场文书
模范教师材料大全
2014/12/16 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
Python利用机器学习算法实现垃圾邮件的识别
2021/06/28 Python
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python