js实现模糊查询

js树结构数据实现模糊查询 js树结构数据模糊查询 阅读详情

js实现模糊查询

1、简述

实现模糊查询方法有很多种,后端可以实现,前端使用js也可以实现。

后端实现起来需要根据输入框中搜索的关键字,去后台拼接SQL语句查询。

前端直接使用字符串的indexOf()方法或者正则表达式匹配实现,相比后端实现这种方法的用户体验更友好。

2、demo

当输入框中输入内容或者点击查询按钮时,

根据输入框中的关键字,模糊查询下面表格的内容,并重新渲染表格。

代码如下。

(1)javascript代码:

let listData = ["上海市","黄浦区","卢湾区","徐汇区","长宁区","静安区","普陀区",
  "闸北区","杨浦区","虹口区","闵行区","宝山区","嘉定区","浦东新区",
  "金山区","松江区","青浦区","南汇区","奉贤区","崇明县" ];

  
function Fuzzysearch(listData){

  this.listData = listData,//请求得到的数据
  this.searchKey = document.getElementById('searchKey'),//查询关键字
  this.searchBtn = document.getElementById('searchBtn'),//查询按钮
  this.searchShow = document.getElementById('searchShow')//显示查询结果的表格
 
  this.renderTab(this.listData);
  this.init();
}

Fuzzysearch.prototype={
      init :function(){
        let _this = this;
          //键入触发事件
        _this.searchKey.onkeyup=function(){
            let searchResult = _this.searchFn();
            _this.renderTab(searchResult);
        };

      //点击查询按钮触发事件
        _this.searchBtn.onclick=function(){
            let searchResult = _this.searchFn();
            _this.renderTab(searchResult);
        };


      },
      searchFn:function(){
        var keyWord = this.searchKey.value;
        var len = this.listData.length;
        var arr = [];
        var reg = new RegExp(keyWord);
        for(var i=0;i<len;i++){
            //如果字符串中不包含目标字符会返回-1
            if(this.listData[i].match(reg)){
                arr.push(listData[i]);
            }
        }
        return arr;
      }
      ,renderTab:function(list){
            let colStr = '';
            
            if(list.length==0){
              this.searchShow.innerHTML='未查询到关键字相关结果';
              return;
            }
            
            for(var i=0,len=list.length;i<len;i++){
              colStr+="<tr><td>"+list[i]+"</td></tr>";
            }
            this.searchShow.innerHTML = colStr;
      }

}

 new Fuzzysearch(listData);

(2)html代码:

<div class="wrap">
      <input type='text' value="" id='searchKey'/>
      <input type='button' value="查询" id='searchBtn'/>
      <table id='searchShow'></table>
  </div>

(3)css代码:

 .wrap{width:50%;margin:0 auto;}
    #searchShow{font-size:12px;border:1px solid #ccc; border-collapse: collapse;margin-top:20px;}
    #searchShow td{border:1px solid #ccc;padding:4px 5px;}
    #searchShow tr:nth-child(even) {  
        background: hsl(180, 35%, 58%);  
        color: #fff;
    }  
    #searchShow tr:nth-child(odd) {  
        background: White;  
    } 
3、运行效果

4、源码下载

https://github.com/lemonYU/fuzzySearch#fuzzysearch

如果对您有帮助的话,记得帮我star哦(笔芯ღ( ´・ᴗ・` ))

posted @ 2018-03-29 14:43 _只鱼 阅读( ...) 评论( ...) 编辑 收藏
JavaScript数组对象模糊查询实现(前端) 模糊查询是指在给定一些搜索条件的情况下,查找包含这些条件的数组对象。本文将介绍如何使用JavaScript实现数组对象的模糊查询,并提供相应的源代码示例。首先,我们准备一组示例数据,作为我们要进行模糊查询的数组对象。通过编写模糊查询函数,我们可以根据给定的搜索条件对数组对象进行灵活的查询操作。接下来,我们将实现一个模糊查询函数,用于根据给定的搜索条件对数组对象进行模糊查询。通过以上代码,我们成功地实现了根据给定条件对数组对象进行模糊查询,并得到了符合条件的结果。表示要进行模糊查询的数组对象。 阅读详情

相关推荐

JS实现模糊查询带下拉匹配效果

“搜索”可以使我们更快的找到某一个关键词或者某一个商品,所以“模糊查询”和“下拉匹配”也成了前端必备的一个小技能,开门见山,希望对朋友们有帮助。 —搜索框模糊查询带下拉匹配效果html— <!------------搜索框模糊查询带下拉匹配效果html----------------------> <form action=# method=post name=searchform id=searchform class=searchinfo>

前端 js实现模糊搜索

前端 js实现模糊搜索

q4717529的博客 6905

Windows下TensorRT+YOLOv11部署避坑指南:从CUDA配置到模型加密全流程

本文详细解析了在Windows平台部署YOLOv11与TensorRT的全流程,重点涵盖从CUDA环境配置、工程编译适配到模型加密保护的实战指南。基于wang-xinyu的tensorrtx仓库,提供了详细的版本选择、编译问题修复方案,并深入探讨了如何对TensorRT引擎进行加密,以实现高效且安全的端到端部署。

vscode5coder的博客 450

js中常用的四种模糊查询(includes()、indexOf()、search()、match())

开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。includes() 方法用来判断一个数组或字符串是否包含一个指定的值,如果是则返回 true,否则返回false。search() 方法用于检索字字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。在字符串中,与在数组中不同之处在与,当在字符串中寻找的是空字符串时,返回值为0,而不是-1。在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。当在字符串中寻找的是空字符串时,返回值为0,而不是-1。

qq_54375345的博客 1万+

stm32h743的hrtim使用生成pwm波

HRTIM(High-Resolution Timer)是一种高精度定时器,其时钟频率可直接与CPU主频同步,达到480MHz。相比之下,其他传统定时器需挂载在APB总线上,受总线频率限制,最高仅支持240MHz。这种直接时钟同步机制显著提升了定时器的分辨率和精度。

d13211322的博客 1614

FreeSurfer预处理命令

比如将/source/kernel.tgz解压到 /source/linux-2.6.29 目录 tar zxvf /source/kernel.tgz -C /source/ linux-2.6.29 tar zxvf /home/tj/application/freesurfer/subjects/mindboggle/OASIS-TRT-20-1.tar.gz -C /home/tj/application/freesurfer/subjects (1)lh.thickness mri_surf2su

Dream19961996的博客 1507

js模糊查询

第一篇博客。

小龚的博客 2万+

如何在 Mac 上下载安装 Xcode——并为 iOS 开发更新它原文

下载 Xcode安装命令行工具打开新版本删除文件注意,我在下面的步骤中列出了一些终端命令。这些命令可以被输入到你现在的工作目录中。这意味着你不需要导航到任何特定的文件夹。如果你真的想这样做,你可以在输入下面的步骤中的命令之前先输入== cd==。这将使你返回到主文件夹。

专注于AI领域前沿知识,业余爱好开发软件 4670

html实现模糊查询,用js实现模糊查询的几种方法

今天在做项目的时候,遇到一个需求是对列表进行模糊查询。对于模糊查询,一般都是传关键字给后端,由后端来做。但是有时候一些轻量级的列表前端来做可以减少ajax请求,在一定程度上提高用户体验。我目前的情况恰好是后台已经把全部数据给到前端了,所以就想用js对数据进行一个模糊查询。那么问题来了,要怎么进行模糊查询呢?头脑里一闪而过,字符串的indexof方法和正则表达式,其实还可以用其他的方法,比如字符串的...

weixin_39825854的博客 1975

微信小程序 - 苹果ios无法播放视频、安卓android手机可以播放,使用video播放MP4视频时安卓正常播放视频iOS无法播放出现黑屏、加载失败或一片黑没反应等(uniapp微信小程序也能解决)

微信小程序ios无法播放视频,微信小程序 video标签 ios不能播放视频或视频黑屏,ios无法播放视频,android手机可以播放,视频格式为mp4,uniapp微信小程序安卓设备android可以播放在线网络视频 ,苹果ios设备无法播放视频,微信小程序 video标签 ios不能播放视频或视频黑屏,安卓手机正常播放iPhone手机却黑屏,如何解决这个问题,在线播放视频URL链接,iOS无法播放MP4视频文件的解决方案,在Android设备上可以正常播放,但在iOS设备上却出现黑屏、无法加载或无法播放

🏆 前端领域优质创作者 1万+

YOLO26优化:原创自研 | 自研独家创新DSAM注意力 ,基于BiLevelRoutingAttention注意力升级

提出新颖的注意力DSAM(Deformable Bi-level SpatialAttention Module),创新度极佳,适合科研创新,效果秒杀CBAM,Channel Attention+Spartial Attention升级为新颖的Deformable Bi-level Attention+Spartial Attention

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 367

html 下拉列表 模糊查询,JS实现模糊查询带下拉匹配效果

“搜索”可以使我们更快的找到某一个关键词或者某一个商品,所以“模糊查询”和“下拉匹配”也成了前端必备的一个小技能,开门见山,希望对朋友们有帮助。---搜索框模糊查询带下拉匹配效果html------搜索框模糊查询带下拉匹配效果-css---.fl {float: left;}.fr {float: right;}.clearfix:after { content: '';display: blo...

weixin_36085931的博客 924

YOLO26涨点改进 | 全网独家创新!注意力改进篇 | CVPR 2025 | 引入RALA秩增强线性注意力模块,含多种创新改进,助力YOLO26适合目标检测、图像分割、图像分类有效涨点

🔥本文给大家介绍使用RALA模块改进YOLO26可以显著提升其性能,尤其在复杂场景和小物体检测中。通过增强线性注意力机制的矩阵秩,RALA改善了模型对空间信息的建模能力,提升了特征的多样性和全局信息的融合,进而提高了检测精度。同时,RALA保持了线性复杂度,避免了Softmax注意力的高计算成本,使YOLO26在实时检测任务中既能保持高效计算,又能提高检测精度,尤其是在小物体和遮挡物体的检测中表现突出。🔥欢迎订阅我的专栏、带你学习使用最新-最前沿-独家YOLO26创新改进!

Ai缝合怪、助力小伙伴高效发论文 145

js根据数据关键字实现模糊查询功能

模糊查询功能是指在搜索或者查询时,允许用户输入部分关键词或者模糊信息,从而快速找到相关的结果。它的意义在于方便用户快速找到相关信息,提高用户体验,同时也能够增强搜索引擎的搜索能力,提高搜索结果的准确性。此外,模糊查询功能还可以应用于数据挖掘、自然语言处理等领域。以上是一些常见的实现方法,具体的实现方式还需要根据具体的需求和场景进行选择和调整。使用正则表达式来匹配输入的关键词实现模糊查询功能。在这里,我们先创建一下假数据用以说明。

杜永康的博客 4580

uniapp(全端兼容) - 最新详细实现双色球开奖走势图功能组件,uni-app红球走势图/蓝球走势图,解决双色球 “蓝球连线“ 问题,双色球效果及用线连接每个号码详细教程(同样适用于彩票开奖走势图

uni-app,双色球,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,红球走势,蓝球走势,连线,uniapp(vue):js实现双色球开奖走势图带连线,vue2,vue3,uniApp双色球组件插件,uniapp如何实现双色球走势图和连线,彩票走势图,前端 Vue实现彩票走势图,详细示例,走势图,彩票项目,绘制股票走势图,前端 JS实现彩票开奖走势图 连线,Uniapp有没有双色球的页面代码,红球蓝球的走势图如何做,双色球红球和值尾走势图,

✅ 精选推荐文章 3346

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

js-grid实现模糊查询

js-grid是国外的一款非常开放和自由的前段框架,与其说是前段框架不如更准确一点说是表格框架,它的表格功能强大并且支持自定义。 进来开发使用它比较多,现在就来记录一下昨天学习的js-grid的模糊查询 首先打开网址:http://js-grid.com/demos/ 我们可以看到各种demo,你们可以一一试试,然后参考一下它的源码。 今天我要记录的是模糊查询,效果如下

记事本 1727

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

如何用JS实现模糊查询功能

我是写的是JSON数据通过请求来获取数据,实现这个功能我只是用来一种办法就是indexOf。

2301_79420857的博客 862

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

js实现模糊查询的方法

js实现模糊查询的方法

weixin_45718332的博客 1139

用javascript对xml文件实现模糊查询功能

xml文件 <?xml version="1.0" encoding="utf-8" ?> <students> <student> <s_id>5664363</s_id> <s_name>Max</s_name> </student> <student> ...

jiangyang112233的博客 452

前端Js实现模糊查询

前端Js实现字符串的模糊查询

flhhly的博客 2277

用js实现模糊查询

4种方法 测试数据: var list1 = [ { name: "bbAhhhaia", other: "akka" }, { name: "哈哈ad", other: "cai" }, { name: "js", other: "aa" } ] fuzzyQuery(list1, "a"); 1 indexOf 从头到尾地检索字符串 item.name,看它是否含有子串 ke

weixin_42235173的博客 3559
上一篇: 前端传参时乱码解决方案
下一篇: js实现模糊查询
isNemo
博客等级 码龄11年 4粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值