语法:
String.IndexOf(Char, [startIndex], [count]):
定义
----返回指定字符在原字符串中的第一个匹配项的索引。如省略第二个参数,则将从字符串的首字符开始检索。
-----可指定字符开始检索位置和指定长度的字符,若没有找到该字符,则返回 -1。
-----也可以判断数组中是否包含某个值。
注释:indexOf() 方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -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
多数用途:
可以用于邮箱是否正确的判断,例如
<script type="text/javascript">
if((yx.email.value.indexOf('@',0)==-1)||(yx.email.value.indexOf('.',0)==-1))
{
alter("邮箱地址错误");
yx.email.focus();
return false;
}
</script>