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动态创建表格及添加数据实例详解
May 13 Javascript
JavaScript中数据结构与算法(三):链表
Jun 19 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
Jun 07 Javascript
AngularJS 实现弹性盒子布局的方法
Aug 30 Javascript
JS判断浏览器是否安装flash插件的简单方法
Sep 13 Javascript
BootStrap Tooltip插件源码解析
Dec 27 Javascript
AngularJS 单选框及多选框的双向动态绑定
Apr 20 Javascript
利用Ionic2 + angular4实现一个地区选择组件
Jul 27 Javascript
vue + element-ui实现简洁的导入导出功能
Dec 22 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
js实现select下拉框选择
Jan 11 Javascript
微信小程序基础教程之echart的使用
Jun 01 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 Cookie的使用教程详解
2013/06/03 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
jQuery 联动日历实现代码
2012/05/31 Javascript
jquery实现简单实用的弹出层效果代码
2015/10/15 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
jQuery插件simplePagination的使用方法示例
2020/04/28 jQuery
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
Python 中pandas.read_excel详细介绍
2017/06/23 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
python3 配置logging日志类的操作
2020/04/08 Python
对python中list的五种查找方法说明
2020/07/13 Python
.NET概念性的面试题
2012/02/29 面试题
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
数学系个人求职信范文
2014/01/30 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
股权转让协议书范本
2014/04/12 职场文书
消防安全责任书范本
2014/04/15 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书