Javascript做模糊查找

页面上些<li>,当你输入任意字母后,按下旁边的button就能找出含有你输入的字的<li>,如果为了测试程序的性能,您可以在数组中更改其中的元素(查找时是对数组进行查找,所以<li>里的字和查找没有关系。)

<html>

<head>
<title>Javascript模糊查找</title>
</head>
<body>


<li οnlοad="load('Name')" id="name">Name</li>
<li οnlοad="load('sex')" id="sex">sex</li>
<li οnlοad="load('age')" id="age">age</li>
<li οnlοad="load('job')" id="job">job</li>
<li οnlοad="load('mail')" id="mail">E-mail</li>


<input id="input" type="text" value="" />
<input id="search" type="button" οnclick="findEach()" value="Search" />


<script>
var vData= ["name", "sex", "age", "job", "E-mail"];


function load(id)
{
alert(vData[0]);
//vData[vData.length] = document.getElementById(id).innerHTML;
}


function find(sFind, sObj)
{
var nSize = sFind.length;
var nLen = sObj.length;


var sCompare;


if(nSize <= nLen ){
for(var i = 0; i <= nLen - nSize; i++){
sCompare = sObj.substring(i, i + nSize);
if(sCompare == sFind){
return i;
}
}
}


return -1;
}


function findEach()
{
var sFind = document.getElementById("input").value;
if(sFind==""){
alert("Can not be empty");
}


if(sFind!=""){
var nPos;
var vResult = [];

//for(var i = 0; i <= vData.length; i++){
for(var i in vData){
//nPos = find(sFind, vData[i]);
var sTxt=vData[i]||'';
nPos=sTxt.indexOf(sFind);
if(nPos>=0){
vResult[vResult.length] = sTxt;
}
}


alert(vResult);
}
}


</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值