<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>string对象 </title>
<script type="text/javascript">
var mystr="Hello World!"
document.write(mystr.indexOf("o",6));
</script>
</head>
<body>
</body>
</html>
你那样写显得太人工了一点吧,第一个位置居然是查出来的,个人认为,第一个位置应该也是代码获得的比较合理,如下
var index = mystr.indexOf('o')
document.write(index);
document.write(mystr.indexOf("o",index + 1));
先获得第一个o的位置index,再拿index+1作为第二次查找的起始位置,懂了麻烦采纳,回答问题需要动力?
//可以封装方法来做
/*
str: 传入的字符串
ch: 查找的字符
th: 要查找的字符的位次 第几个匹配的
start: 开始查找的下标注意字符串是从0开始的
*/
function charIndexOfStr(str,ch,th,start){
th = argChecking(th);
start = argChecking(start);
if(th==1||th==0){
return str.indexOf(ch,start);
}
start = str.indexOf(ch,start)+1;
return charIndexOfStr(str,ch,th-1,start);
}
//参数检查
function argChecking(arg){
if (arg===""||arg===null||arg===undefined){
arg=1;
}
return arg;
}
可以的,只要不超过第二个字符的位置!