<!--在result中显示str在ta中的索引-->
<html>
<head>
<script type="text/javascript">
<!--
function displayResult(){
document.getElementById('result').innerText='';
if(document.getElementById('str').value=='')return;
var indexes=getIndexesInTextarea(document.getElementById('ta'),document.getElementById('str').value);
for(var i=0;i<indexes.length;i++){
document.getElementById('result').innerText=document.getElementById('result').innerText+'['+indexes[i][0]+","+indexes[i][1]+"]";
}
}
function getIndexesInTextarea(ta,str){
var indexes=new Array();
var start=0;
var end=0;
var taRange=ta.createTextRange();
var strRanges=findTextRange(taRange,str);
for(var i=0;i<strRanges.length;i++){
taRange.moveToElementText(ta);
for(start=0;taRange.compareEndPoints("StartToStart",strRanges[i])<0;start++){
taRange.moveStart('character', 1);
}
for(var j=0;j<=start;j++){
if(ta.value.charAt(j)=='/n'){
start++;
}
}
taRange.moveToElementText(ta);
for(end=0;taRange.compareEndPoints('StartToEnd', strRanges[i])<0;end++){
taRange.moveStart('character', 1);
}
for(var j=0;j<=end;j++){
if(ta.value.charAt(j)=='/n'){
end++;
}
}
indexes.push([start,end]);
}
return indexes;
}
function findTextRange(range,str){
var ranges=new Array();
var dup=range.duplicate();
do{
var d=dup.duplicate();
if(d.findText(str)){
ranges.push(d);
dup.setEndPoint('StartToEnd',d);
continue;
};
break;
}while(true)
return ranges;
}
//-->
</script>
</head>
<body scroll="true" style="padding-top:20%;padding-left:20%;">
<textarea id="ta" rows="20" style="width:60%;display:block;"></textarea>
<input id="str" type="text"/>
<input type="button" value="index" onclick="displayResult();"/>
<div id="result" style="position:absolute;top:150%;left:30%;width:40%;height:10%;border:1px groove orange;"></div>
</body>
</html>