indexOf 的用途是在一个字符串中寻找一个字的位置

lastIndexOf 也是找字 , 它们俩的区别是前者从字符串头开始找,后者是从字符串末端开始找。

一但指定的字被找到,就会返回这个字的当前的位置号码。如果没有找到就返回 -1.

 var str = "//www.stooges.com.my/test/index.aspx123/";
console.log(str.indexOf("/")); //
console.log(str.lastIndexOf("/")); //

参数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)); //
console.log(str.myIndexOf("/", -2)); //25 倒数第2个的位置

最新文章

  1. 我的runloop学习笔记
  2. Asp.net WebPages框架运行原理浅析(转)
  3. NetCFSvcUtil.exe and Windows 7
  4. Android学习第八弹之改变状态栏的颜色使其与APP风格一体化
  5. Windows程序设计-窗口和消息
  6. redhat 下Redis安装
  7. Php 输出语句
  8. JS判断设备终端(PC,iPad,iPhone,android,winPhone)和浏览器
  9. (转) Class
  10. Maven使用-创建一个Web项目
  11. C++入门篇十一
  12. pip install psycopg2出现python setup.py egg_info failed with error code 1 in /tmp/pip-build-YtLeN3/psycopg2错误处理
  13. vue全局组件-父子组件传值
  14. 微信小程序记账本进度七
  15. Centos6.5安装中文支持和中文输入法---VIM编辑器中文支持
  16. Spring标签之Bean @Scope
  17. Visual Studio 2019 Serial Keys
  18. DB2日志清理
  19. vmstat工具
  20. gulp教程之gulp中文API

热门文章

  1. 线性表(gcc实现)
  2. Jenkins配置Java项目1(Java+Maven+Tomcat)
  3. Oracle 数据库基本操作——表操作:查询
  4. JSP元素和标签
  5. AFNetworking (3.1.0) 源码解析 &lt;三&gt;
  6. Appcelerator Titanium 3.x Win7 64位平台安装步骤
  7. JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例
  8. Android 带你玩转实现游戏2048 其实2048只是个普通的控件(转)
  9. 小学生之JAVA中的分层
  10. java transient关键字和transaction的区别