javascript indexOf函数使用说明


Posted in Javascript onJuly 03, 2008

使用方法:strObj.indexOf(str,startIndex[可选])

 程序代码

其中strObj是必选项。String 对象或文字。
str是必选项。要在 String 对象中查找的子字符串。
startIndex是可选项。该整数值指出在 String 对象内开始查找的位置,从0开始。如果省略,则从字符串的开始处查找。

注意:对于JavaScript的indexOf是区分大小写的。

JavaScript中indexOf函数方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到字符串,则返回 -1。如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。

indexOf函数是从左向右执行查找
下面的示例说明了indexOf函数方法的用法。

 程序代码

var str1="fdiejDIFADF";
var str="e";
var i=str1.indexOf(str);
alert(i);

在前面说了,indexOf是区分大小的写,有时这就给我们造成了一定的麻烦,那怎么解决呢??当然最简单的方法是把字符用toLowerCase或toUpperCase转化为大写或小写就解决了。
代码如下:

 程序代码

<script>
var Str = 'ABCDEF';
var Str1 = 'bcd';
alert(Str.toLowerCase().indexOf(Str1.toLowerCase()));
str2 = 'AbCdEf';
alert(Str2.toLowerCase().indexOf(Str1.toLowerCase()));
</script>

下面这个方法利用正则对indexOf进行了扩展(来自网络)

 程序代码

<script>
String.prototype.indexOf = function(f,m){
var mm = (m == false) ? "i":"";
var re = eval("/"+ f +"/"+mm);
var rt = this.match(re);
return (rt == null) ? -1:rt.index; 
}
var test = "absnegKIugfkalg";
alert(test.indexOf("kiu",false));
</script>

下面的这个扩展就更强大了,它兼容原来的 indexOf函数,也可以进行忽略大小的查找(同样来自网络)。

 程序代码

<script language="javascript">
String.prototype._indexOf = String.prototype.indexOf;
String.prototype.indexOf = function()
{
        if(typeof(arguments[arguments.length - 1]) != 'boolean')
                return this._indexOf.apply(this,arguments);
        else
        {
                var bi = arguments[arguments.length - 1];
                var thisObj = this;
                var idx = 0;
                if(typeof(arguments[arguments.length - 2]) == 'number')
                {
                        idx = arguments[arguments.length - 2];
                        thisObj = this.substr(idx);
                }

                var re = new RegExp(arguments[0],bi?'i':'');
                var r = thisObj.match(re);
                return r==null?-1:r.index + idx;
        }
}
alert("bcssssasdfsdf".indexOf('A',3,true));
alert("bcssssasdfsdf".indexOf('a',3));
</script>

Javascript 相关文章推荐
javascript 多种搜索引擎集成的页面实现代码
Jan 02 Javascript
jQuery学习5 jQuery事件模型
Feb 07 Javascript
js导航菜单(自写)简单大方
Mar 28 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
Apr 17 Javascript
js如何判断用户是在PC端和还是移动端访问
Apr 24 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
Apr 22 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
Sep 30 Javascript
vue2.0开发实践总结之疑难篇
Dec 07 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
vue 实现边输入边搜索功能的实例讲解
Sep 16 Javascript
JS精髓原型链继承及构造函数继承问题纠正
Jun 16 Javascript
复制本贴标题和地址的js代码
Jul 01 #Javascript
js文字滚动停顿效果代码
Jun 28 #Javascript
js兼容标准的表格变色效果
Jun 28 #Javascript
js查找父节点的简单方法
Jun 28 #Javascript
一个小型js框架myJSFrame附API使用帮助
Jun 28 #Javascript
JavaScript 给汉字排序实例代码
Jun 28 #Javascript
教你如何解密js/vbs/vbscript加密的编码异处理小结
Jun 25 #Javascript
You might like
PHP cdata 处理(详细介绍)
2013/07/05 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
jQuery :first选择器使用介绍
2013/08/09 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
js+css实现导航效果实例
2015/02/10 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
利用 spin.js 生成等待效果(js 等待效果)
2017/06/25 Javascript
node.js+captchapng+jsonwebtoken实现登录验证示例
2017/08/17 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
JavaScript实现串行请求的示例代码
2020/09/14 Javascript
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
介绍Python中的文档测试模块
2015/04/28 Python
python中函数传参详解
2016/07/03 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
Python3使用SMTP发送带附件邮件
2020/06/16 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
Python爬虫实战之12306抢票开源
2019/01/24 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
高中教师先进事迹材料
2014/08/22 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
2015暑假假期总结
2015/07/13 职场文书
创业方案:赚钱的烧烤店该怎样做?
2019/07/05 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python