您的位置:首页 > Web前端 > JavaScript

javascript模糊查询

2011-07-11 13:18 471 查看
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: