当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript indexOf函数使用说明

Javascript
javascript 写类方式之九
javascript 写类方式之十
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
jquery BS,dialog控件自适应大小
javascript 面向对象思想 附源码
js 日期转换成中文格式的函数
JavaScript 对象、函数和继承
JavaScript 解析读取XML文档
javascript获取表格 td 中的内容
javascript xml为数据源的下拉框控件
jQuery 1.3 和 Validation 验证插件1.5.1
javascript 字符 Escape,encodeURI,encodeURIComponent
jquery text,radio,checkbox,select操作实现代码
JavaScript 继承的实现
JS 数组 移除 实现代码
javascript eval()应用实例 select
javascript 焦点的两个问题
JS 巧妙获取剪贴板数据 Excel数据的粘贴
Jquery 组合form元素为json格式,asp.net反序列化
window.onload 加载完毕的问题及解决方案(上)

Javascript 中的 javascript indexOf函数使用说明


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 425 ::
收藏到网摘: n/a

JavaScript中indexOf函数方法是返回 String 对象内第一次出现子字符串的字符位置。 使用方法: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>