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 相关文章推荐
jquery 实现表单验证功能代码(简洁)
Jul 03 Javascript
js jquery验证银行卡号信息正则学习
Jan 21 Javascript
js对象与打印对象分析比较
Apr 23 Javascript
node.js中的fs.chmodSync方法使用说明
Dec 18 Javascript
jquery删除指定子元素代码实例
Jan 13 Javascript
jquery实现键盘左右翻页特效
Apr 30 Javascript
JS中多种方式创建对象详解
Mar 22 Javascript
微信小程序 template模板详解及实例
Feb 21 Javascript
原生js 封装get ,post, delete 请求的实例
Aug 11 Javascript
深入理解js 中async 函数的含义和用法
May 13 Javascript
vuejs点击class变化的实例
Sep 05 Javascript
javascript随机变色实例代码
Oct 15 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
2015/10/28 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
探索angularjs+requirejs全面实现按需加载的套路
2016/02/26 Javascript
ComboBox(下拉列表框)通过url加载调用远程数据的方法
2017/08/06 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
jquery中attr、prop、data区别与用法分析
2019/09/25 jQuery
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
2014/06/10 Python
python端口扫描系统实现方法
2014/11/19 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
python3判断IP地址的方法
2021/03/04 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
单位消防安全制度
2014/01/12 职场文书
超市采购员岗位职责
2014/02/01 职场文书
创建文明学校实施方案
2014/03/11 职场文书
HR求职自荐信范文
2014/06/21 职场文书
会议欢迎标语
2014/06/30 职场文书
党员示范岗材料
2014/12/19 职场文书
刑事案件上诉状
2015/05/23 职场文书
Python字典和列表性能之间的比较
2021/06/07 Python
Lombok的详细使用及优缺点总结
2021/07/15 Java/Android
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技
Golang map映射的用法
2022/04/22 Golang
使用Mysql计算地址的经纬度距离和实时位置信息
2022/04/29 MySQL