这是一个在URL中定位目标字符串的实例
其中有一处不太明白,
index=MyURL.indexOf(MyStr, index+1);
在此代码中,我想问一下index+1是指哪里呢?或者是指什么呢?
往往读到类似的代码,我就会不太明白<html>
<head>
<title>Sample Page!</title>
<script language="JavaScript" type="text/javascript">
<!--
function URLDetect()
{
//获取文本框内容
var MyURL=document.MyForm.MyURL.value;
var MyStr=document.MyForm.MyStr.value;
//获取字符串长度
var URLlength=MyURL.length;
var Strlength=MyStr.length;
var msg="";
//判断文本框是否为空,若空,返回错误信息
if(URLlength==0||Strlength==0)
{
msg+="对不起,你的输入有误,文本框不能为空,但可以为空格!";
alert(msg);
return;
}
//若不空,执行定位操作
else
{
msg+="在URL中定位目标字符串实例:\n\n";
msg+="原始地址 : " + MyURL + "\n";
msg+="目标子串 : " + MyStr + "\n\n";
msg+="定位结果 : \n";
var index=MyURL.indexOf(MyStr);
var i=0;
if(index==-1)
{
msg+="目标字符串中没有找到指定的字符串!";
}
else
{
//搜索到一个位置后,设定标记,然后继续搜索
while(index!=-1)
{
i+=1;
msg+="位置" +i+ " : " +index+ "\n";
index=MyURL.indexOf(MyStr, index+1);
}
}
}
//输出定位信息
alert(msg);
return;
}
-->
</script>
</head>
<body>
<form name=MyForm>
原始地址:
<input type=text name=MyURL size=60><br>
搜索子串:
<input type=text name=MyStr size=60><br><br>
<center>
<input type=button value=定位指定字符串 onClick="URLDetect()">
</center>
</form>
</body>
</html>
其中有一处不太明白,
index=MyURL.indexOf(MyStr, index+1);
在此代码中,我想问一下index+1是指哪里呢?或者是指什么呢?
往往读到类似的代码,我就会不太明白<html>
<head>
<title>Sample Page!</title>
<script language="JavaScript" type="text/javascript">
<!--
function URLDetect()
{
//获取文本框内容
var MyURL=document.MyForm.MyURL.value;
var MyStr=document.MyForm.MyStr.value;
//获取字符串长度
var URLlength=MyURL.length;
var Strlength=MyStr.length;
var msg="";
//判断文本框是否为空,若空,返回错误信息
if(URLlength==0||Strlength==0)
{
msg+="对不起,你的输入有误,文本框不能为空,但可以为空格!";
alert(msg);
return;
}
//若不空,执行定位操作
else
{
msg+="在URL中定位目标字符串实例:\n\n";
msg+="原始地址 : " + MyURL + "\n";
msg+="目标子串 : " + MyStr + "\n\n";
msg+="定位结果 : \n";
var index=MyURL.indexOf(MyStr);
var i=0;
if(index==-1)
{
msg+="目标字符串中没有找到指定的字符串!";
}
else
{
//搜索到一个位置后,设定标记,然后继续搜索
while(index!=-1)
{
i+=1;
msg+="位置" +i+ " : " +index+ "\n";
index=MyURL.indexOf(MyStr, index+1);
}
}
}
//输出定位信息
alert(msg);
return;
}
-->
</script>
</head>
<body>
<form name=MyForm>
原始地址:
<input type=text name=MyURL size=60><br>
搜索子串:
<input type=text name=MyStr size=60><br><br>
<center>
<input type=button value=定位指定字符串 onClick="URLDetect()">
</center>
</form>
</body>
</html>
index=MyURL.indexOf(MyStr, index+1);
比如,12345556789,我搜索55
第一次匹配55是在第5个位置,然后找到1次匹配,再继续找,这个时候就要从第6个位置开始找,所以要+1