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 基于原型的对象(创建、调用)
Oct 16 Javascript
javascript基础之查找元素的详细介绍(访问节点)
Jul 05 Javascript
js实现点击左右按钮轮播图片效果实例
Jan 29 Javascript
js H5 canvas投篮小游戏
Aug 18 Javascript
Bootstrap table的使用方法
Nov 02 Javascript
vue实现添加标签demo示例代码
Jan 21 Javascript
JS中使用 after 伪类清除浮动实例
Mar 01 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
Feb 21 Javascript
React-redux实现小案例(todolist)的过程
Sep 29 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
Mar 05 Javascript
vue 实现click同时传入事件对象和自定义参数
Jan 29 Vue.js
vue实现倒计时功能
Mar 24 Vue.js
复制本贴标题和地址的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编码规范-php coding standard
2007/03/16 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
对 Vue-Router 进行单元测试的方法
2018/11/05 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
2019/01/07 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
JavaScript浅层克隆与深度克隆示例详解
2020/09/01 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python格式化压缩后的JS文件的方法
2015/03/05 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
Python给图像添加噪声具体操作
2019/03/03 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
pycharm新建Vue项目的方法步骤(图文)
2020/03/04 Python
法国时尚童装网站:Melijoe
2016/08/10 全球购物
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
社区志愿者心得体会
2014/01/03 职场文书
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
住房抵押登记委托书
2014/09/27 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
面试通知短信
2015/04/20 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
军事理论课感想
2015/08/11 职场文书
为Centos安装指定版本的Docker
2022/04/01 Servers