js实现模糊查询

js实现模糊查询1、简述实现模糊查询方法有很多种,后端可以实现,前端使用js也可以实现。后端实现起来需要根据输入框中搜索的关键字,去后台拼接SQL语句查询。前端直接使用字符串的indexOf()方法或者正则表达式匹配实现,相比后端实现这种方法的用户体验更友好。2、demo当输入框中输入内容或者点击查询按钮时,根据输入框中的关键字,模糊查询下面表格的内容,并重新渲染表格。代码如下。(1)…

大家好,又见面了,我是你们的朋友全栈君。

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);

3、源码下载

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

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

☞日益努力,而后风生水起。众生皆苦,你也不能认输!!! 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139221.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python和java哪个好找工作-Python和java哪个就业前景好些?

    python和java哪个好找工作-Python和java哪个就业前景好些?之前写过一篇文章,Python和Java哪个更适合做自动化测试?这个和Python和JAVA哪个更有发展前景?有着异曲同工之妙。Python和Java的争锋由来已久,作为测试菜鸟入门测试行业,都会在这两种语言之间纠结,而大部分人选择一门语言的依据源于他们的发展前景。本文旨在为零基础小白提供一些中肯的意见。所以大佬们,请手下留情,提个人想法经验可以,但是不能说我~首先可以确认的是提出这个问题的肯定是…

    2022年7月7日
    27
  • laravel 自定义分页样式「建议收藏」

    laravel 自定义分页样式「建议收藏」以laravel的默认表users表为例,插入100条数据$arr=[];for($i=0;$i<100;$i++){$arr[]=[‘name’=>’NAME_’.$i,’email’=>”email@{$i}.com”,’password’=>$i,’created_at’=>date(‘Y-m-dH:i:s’),’updated_…

    2022年7月17日
    14
  • 实用技巧:利用Excel实现客户档案的统一管理「建议收藏」

    实用技巧:利用Excel实现客户档案的统一管理「建议收藏」背景:一个朋友新开了家门市,生意不错,客源旺盛。有次我们喝茶时,他透露一个问题,就是客户的档案管理很不理想,都是纸面的,很容易丢失,也不方便查找。我自诩混迹IT界多年,当然要替好友解决这个小麻烦。考虑到他的门市规模和店员能力,什么ERP、CRM之类的还是免了吧,朋友的要求也很直接,就是俩字:简单。这样的话确实简单了,EXCEL就可以搞定,而且使用门槛相当于零!喝完茶,基本思…

    2025年8月6日
    4
  • Query $.each用法

    Query $.each用法Query each 用法以下内容非原创 来自百度文库 http wenku baidu com view 4796b6145f0e html nbsp 通过它 你可以遍历对象 数组的属性值并进行处理 使用说明 each 函数根据参数的类型实现的效果不完全一致 1 遍历对象 有附加参数 each Object function p1 p2

    2025年8月25日
    4
  • 蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)

    蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备)蓝桥杯嵌入式学习准备联系方式作者:马一飞QQ:791729359…

    2022年6月12日
    29
  • 目标检测 | OHEM

    目标检测 | OHEM 这里主要说下该论文的hardmining过程: 先上图,如Figure2所示: 从图中可以看出,本文的亮点在于在每次迭代中,较少训练样本下,如何hardnegativemining,来提升效果。 即针对Fast-RCNN框架,在每次minibatch(1张或者2张)训练时加入在线筛选hardregion的策略,达到新的SoA。需要注意的是,这个OHEM适合于b…

    2022年5月28日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号