Javascript做模糊尋找

來源:互聯網
上載者:User

頁面上些<li>,當你輸入任意字母后,按下旁邊的button就能找出含有你輸入的字的<li>,如果為了測試程式的效能,您可以在數組中更改其中的元素(尋找時是對數組進行尋找,所以<li>裡的字和尋找沒有關係。)

<html>

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


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


<input id="input" type="text" value="" />
<input id="search" type="button" onclick="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>


作者:yorhomwang

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.