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 italics方法入门实例(把字符串显示为斜体)
Oct 17 Javascript
浅谈Node.js中的定时器
Jun 18 Javascript
JavaScript基础知识之方法汇总结
Jan 24 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
Sep 04 Javascript
js转换对象为xml
Feb 17 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
Apr 28 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
Jul 18 Javascript
jQueryUI Sortable 应用Demo(分享)
Sep 07 jQuery
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
Apr 14 Javascript
简单谈谈javascript高级特性
Sep 04 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
Nov 09 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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
十天学会php之第九天
2006/10/09 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
yii框架通过控制台命令创建定时任务示例
2014/04/30 PHP
PHP向浏览器输出内容的4个函数总结
2014/11/17 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
PHP一致性hash分布式算法封装类定义与用法示例
2018/08/04 PHP
JavaScript触发器详解
2007/03/10 Javascript
关于全局变量和局部变量的那些事
2013/01/11 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
Java 生成随机字符的示例代码
2021/01/13 Javascript
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
使用sklearn之LabelEncoder将Label标准化的方法
2018/07/11 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
Django unittest 设置跳过某些case的方法
2018/12/26 Python
Python字典的核心底层原理讲解
2019/01/24 Python
python内存动态分配过程详解
2019/07/15 Python
python numpy数组中的复制知识解析
2020/02/03 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
Python+PyQt5+MySQL实现天气管理系统
2020/06/16 Python
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书