前端实现模糊搜索

利用正则校验的方式在前端实现模糊搜索的功能

1,html

 <div class="searchDivInput">
        <input class="searchInput" type="text" placeholder="搜索分店"  v-model="storeKey">
        <img class="searchImg" :src="require('assets/img/webtherapy/search.png')" @click="findbranch()">
      </div>

2,JS

findbranch(){
        if(this.storeKey){
          let text = this.storeKey
          let reg = new RegExp(text) 
          //利用正则规则获取符合搜索条件的数据
          let list = this.branchStoreList.filter(item => reg.test(item.kkb104)) 
          //获取符合条件的数据
          this.branchStoreList=list
        }else{
        	//storeKey为空,则恢复全部数据显示
          this.branchStoreList=this.branchStoreListTemp
        }
      },
以下是一个简单的前端实现模糊搜索功能的代码实现: HTML: ``` <input type="text" id="searchInput" placeholder="Search..."> <ul id="results"></ul> ``` JavaScript: ``` const searchInput = document.getElementById('searchInput'); const resultsList = document.getElementById('results'); searchInput.addEventListener('input', function() { const searchTerm = searchInput.value.toLowerCase(); resultsList.innerHTML = ''; if (searchTerm.length < 3) { return; } const filteredResults = data.filter(function(item) { return item.name.toLowerCase().includes(searchTerm); }); filteredResults.forEach(function(item) { const li = document.createElement('li'); li.textContent = item.name; resultsList.appendChild(li); }); }); const data = [ { name: 'Apple' }, { name: 'Banana' }, { name: 'Cherry' }, { name: 'Durian' }, { name: 'Elderberry' }, { name: 'Fig' }, { name: 'Grape' }, { name: 'Honeydew' }, { name: 'Iced Tea' }, { name: 'Jicama' }, { name: 'Kiwi' }, { name: 'Lemon' }, { name: 'Mango' }, { name: 'Nectarine' }, { name: 'Orange' }, { name: 'Pineapple' }, { name: 'Quince' }, { name: 'Raspberry' }, { name: 'Strawberry' }, { name: 'Tangerine' }, { name: 'Ugli Fruit' }, { name: 'Vanilla Bean' }, { name: 'Watermelon' }, { name: 'Xigua' }, { name: 'Yellow Squash' }, { name: 'Zucchini' } ]; ``` 这段代码监听输入框的输入事件,当输入框中的文本发生变化时,会根据输入的文本进行模糊搜索。如果输入的文本长度小于3,则不进行搜索。搜索结果会显示在一个无序列表中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值