Heim  >  Artikel  >  Web-Frontend  >  javascript indexOf函数使用说明_基础知识

javascript indexOf函数使用说明_基础知识

WBOY
WBOYOriginal
2016-05-16 19:02:591233Durchsuche

使用方法: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> <BR>var Str = 'ABCDEF'; <BR>var Str1 = 'bcd'; <BR>alert(Str.toLowerCase().indexOf(Str1.toLowerCase())); <BR>str2 = 'AbCdEf'; <BR>alert(Str2.toLowerCase().indexOf(Str1.toLowerCase())); <BR></script>



下面这个方法利用正则对indexOf进行了扩展(来自网络)

 程序代码

<script> <BR>String.prototype.indexOf = function(f,m){ <BR>var mm = (m == false) ? "i":""; <BR>var re = eval("/"+ f +"/"+mm); <BR>var rt = this.match(re); <BR>return (rt == null) ? -1:rt.index; <BR>} <BR>var test = "absnegKIugfkalg"; <BR>alert(test.indexOf("kiu",false)); <BR></script>



下面的这个扩展就更强大了,它兼容原来的 indexOf函数,也可以进行忽略大小的查找(同样来自网络)。

 程序代码

<script> <BR>String.prototype._indexOf = String.prototype.indexOf; <BR>String.prototype.indexOf = function() <BR>{ <BR> if(typeof(arguments[arguments.length - 1]) != 'boolean') <BR> return this._indexOf.apply(this,arguments); <BR> else <BR> { <BR> var bi = arguments[arguments.length - 1]; <BR> var thisObj = this; <BR> var idx = 0; <BR> if(typeof(arguments[arguments.length - 2]) == 'number') <BR> { <BR> idx = arguments[arguments.length - 2]; <BR> thisObj = this.substr(idx); <BR> } <br><br> var re = new RegExp(arguments[0],bi?'i':''); <BR> var r = thisObj.match(re); <BR> return r==null?-1:r.index + idx; <BR> } <BR>} <BR>alert("bcssssasdfsdf".indexOf('A',3,true)); <BR>alert("bcssssasdfsdf".indexOf('a',3)); <BR></script>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn