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 相关文章推荐
JQuery 学习笔记 选择器之一
Jul 23 Javascript
JavaScript 利用StringBuffer类提升+=拼接字符串效率
Nov 24 Javascript
利用JS重写Cognos右键菜单的实现代码
Apr 11 Javascript
js实现类似菜单风格的TAB选项卡效果代码
Aug 28 Javascript
AngularJs  E2E Testing 详解
Sep 02 Javascript
浅谈在js传递参数中含加号(+)的处理方式
Oct 11 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
Oct 12 Javascript
vue cli 全面解析
Feb 28 Javascript
js实现for循环跳过undefined值示例
Jul 02 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 Javascript
vue使用nprogress加载路由进度条的方法
Jun 04 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
Jul 24 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 欧美动漫
php入门学习知识点一 PHP与MYSql连接与查询
2011/07/14 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
php实现微信分享朋友链接功能
2019/02/18 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
JavaScript获取URL汇总
2015/06/08 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
JavaScript事件对象深入详解
2018/12/30 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
对python多线程与global变量详解
2018/11/09 Python
Django页面数据的缓存与使用的具体方法
2019/04/23 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
python查看数据类型的方法
2019/10/12 Python
Python对wav文件的重采样实例
2020/02/25 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
大学生实习思想汇报
2014/01/12 职场文书
小学节能减排倡议书
2014/05/15 职场文书
贷款委托书
2014/08/01 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
会计实训总结范文
2015/08/03 职场文书
2016猴年春节慰问信
2015/11/30 职场文书
个人业务学习心得体会
2016/01/25 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫
基于Python编写一个监控CPU的应用系统
2022/06/25 Python