<script language="javascript" type="text/javascript">//擷取所有符合條件下元素,以資料型式返回,str:要尋找的字串,container:被查的數組function GetAllLikeString(str,container){var startChar=str.charAt(0);//開始字元 var strLen=str.length;//尋找符串的長度 var curCon; var isFind=false;//是否找到 var resultIndex=-1//如果是的話的那個索引 var returnvalue=""; for(var i=0;i<container.length;i++) { curCon=container[i]; for(var j=0;j<curCon.length;j++) { // alert(curCon.charAt(j)); if(curCon.charAt(j)==startChar)//如果匹配起始字元,開始尋找 { if(curCon.substring(j).substring(0,strLen)==str)//如果從j開始的字元與str匹配,那ok { returnvalue=returnvalue+curCon+"|"; } } } } if(returnvalue.length>1) returnvalue=returnvalue.substring(0,returnvalue.length-1); var returnvalue = returnvalue.split("|"); returnvalue.sort(); return returnvalue;}//擷取模糊值的下標方法,最好Container是按字元排序的數組function GetLikeStringUnderIndex(str,container){ var startChar=str.charAt(0);//開始字元 var strLen=str.length;//尋找符串的長度 var curCon; var isFind=false;//是否找到 var resultIndex=-1//如果是的話的那個索引 for(var i=0;i<container.length;i++) { curCon=container[i]; for(var j=0;j<curCon.length;j++) { // alert(curCon.charAt(j)); if(curCon.charAt(j)==startChar)//如果匹配起始字元,開始尋找 {// for(var k=0;k<strLen;k++)//看一下連續的幾個字元是否存在// {// if(curCon.charAt[j+k]==str.charAt[k])// } if(curCon.substring(j).substring(0,strLen)==str)//如果從j開始的字元與str匹配,那ok { isFind=true; return i;//匹配的那個下標 } else { isFind=false; return i; } } } } return -1; }</script> --測試<script>var a= ['abc','cde','def','jki','中國','環澤'];//alert(GetLikeStringUnderIndex('bc',a));var rval=GetAllLikeString('d',a);for(var i=0;i<rval.length;i++){alert(rval[i]);}</script>