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 相关文章推荐
JS 强制设为首页的代码
Jan 31 Javascript
JS中confirm,alert,prompt函数使用区别分析
Apr 01 Javascript
浅谈类似于(function(){}).call()的js语句
Mar 30 Javascript
10条建议帮助你创建更好的jQuery插件
May 18 Javascript
利用Jquery队列实现根据输入数量显示的动画
Sep 01 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
Feb 23 Javascript
layui表格实现代码
May 20 Javascript
小程序实现页面顶部选项卡效果
Nov 06 Javascript
关于React动态加载路由处理的相关问题
Jan 07 Javascript
vue下载excel的实现代码后台用post方法
May 10 Javascript
小程序外卖订单界面的示例代码
Dec 30 Javascript
javascript实现简易计算器功能
Sep 23 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
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
PHP小教程之实现双向链表
2014/06/12 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
jQuery checkbox全选/取消全选实现代码
2009/11/14 Javascript
页面载入结束自动调用js函数示例
2013/09/23 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
Vuejs第七篇之Vuejs过渡动画案例全面解析
2016/09/05 Javascript
Bootstrap基本组件学习笔记之面板(14)
2016/12/08 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
关于vue-router的那些事儿
2018/05/23 Javascript
js删除对象中的某一个字段的方法实现
2021/01/11 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
在Docker上开始部署Python应用的教程
2015/04/17 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
Python多线程下载文件的方法
2015/07/10 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
暇步士官网:Hush Puppies
2016/09/22 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
SOA面试题:如何在SOA中实现松耦合
2013/07/21 面试题
计算机数据库专业职业生涯规划书
2014/02/08 职场文书
保密工作实施方案
2014/02/24 职场文书
律师授权委托书范本
2014/10/07 职场文书
redis数据一致性的实现示例
2022/03/18 Redis