js中indexOf()的简单使用示例
前端小白兔爱前端 人气:0语法:
String.IndexOf(Char, [startIndex], [count]):
定义
----返回指定字符在原字符串中的第一个匹配项的索引。如省略第二个参数,则将从字符串的首字符开始检索。
-----可指定字符开始检索位置和指定长度的字符,若没有找到该字符,则返回 -1。
-----也可以判断数组中是否包含某个值。
用法及实例
示例1:查找字符串中某一字符从头开始第一次出现的索引
var str = "Hello world!" console.log(str.indexOf("o")) //4 console.log(str.indexOf("Hello")) //0 console.log(str.indexOf("World")) //-1 console.log(str.indexOf("world")) //6
需要注意的是,当匹配到一个字符串时,会返回字符串中第一个字符的索引,如上例匹配word时,返回的是6。
示例2:查找字符串中某一字符从指定位置开始第一次出现的索引
var str = "Hello world! wo shi ooo" console.log(str.indexOf("o",8)) //14
有indexOf,也就有lastIndexOf,它和indecOf相反,是匹配字符串最后一次出现的索引
var str = “Hello world! wo shi oll” onsole.log(str.indexOf(“o”)) //4 console.log(str.lastIndexOf(“o”)) //20`
实例三:判断字符串中是否包含某个字符的情景中:
var str = "Hello world! wo shi oll" console.log(str.indexOf("World") == -1) //true console.log(str.indexOf("world") == -1) //false
示例4:判断数组中是否包含某个元素
const arr = [1,5,3,8,22] console.log(arr.indexOf(2))//不存在,返回-1 console.log(arr.indexOf(8))//存在,返回索引3
补充知识:不区分大小写的 javascript indexOf
<script language=javascript> /* 作者:阿牛(牛昆亮) QQ:273352165 MSN:niukl@hotmail.com 声明:可以免费使用,请您保留此信息 如果您有什么改过,记得告诉我! */ 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>
总结
加载全部内容