前端做模糊搜索
我们先看一下效果图:
这是搜索关键字cfg
时,会自动匹配到config
方法
同样,我们再看另一个例子
通过关键字bi
会匹配到好几个结果
这个和一些编辑器的搜索功能很像,比如sublime text,不需要知道关键字的完整拼写,只需要知道其中的几个字母即可。
那么这个功能在前端我们如何去实现呢?
不考虑性能的话,我们可以用正则简单实现如下:
把关键字拆分,加入(.?),如cfg最终为 (.?)(c)(.?)(f)(.?)(g)(.*?),然后拿这个正则去测试要搜索的列表,把符合要求的选项给拿出来即可
考虑到要高亮结果,我们还要生成对应的替换表达式,最后的函数如下
var escapeRegExp = /[\-#$\^*()+\[\]{}|\\,.?\s]/g; var KeyReg = (key) => { var src = ['(.

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SpringFramework核心技术五:面向切面编程(AOP)和Spring
面向对象和面向切面两种编程方式的比较 面向方面编程(AOP)通过提供关于程序结构的另一种思考方式来补充面向对象编程(OOP)。OOP中模块化的关键单元是类,而在AOP中,模块化的单元是方面。方面可以实现关注的模块化,例如跨越多种类型和对象的事务管理。(这种担忧在AOP文献中常常被称为横切关注点。) AOP的介绍 1.基本的介绍 AOP框架是Spring的关键组件之一。虽然Spring IoC容器不依赖AOP,也就是说如果你不想使用AOP那么就不用AOP,AOP可以为Spring IoC提供功能非常强大的中间件解决方案。 Spring 2.0+ AOP Spring 2.0引入了一种使用基于模式的方法或@AspectJ注释样式编写自定义方面的更简单,更强大的方法。这两种风格都提供完全类型化的建议和AspectJ切入点语言的使用,同时仍然使用Spring AOP进行编织。 本章将讨论基于Spring 2.0+模式和@AspectJ的AOP支持。下一章将讨论较低级别的AOP支持,如Spring 1.2应用程序中常见的那样。 AOP在Spring框架中用于…… …提供声明式企业服务,特别是作为...
- 下一篇
img的complete和onload
HTML DOM complete 属性 定义和用法: complete 属性可返回浏览器是否已完成对图像的加载。 如果加载完成,则返回 true,否则返回 fasle。 语法: imageObject.complete Image onload 事件 定义和用法: onload 事件在图片加载完成后立即执行。 语法 onload="JavaScriptCode" complete只是HTMLImageElement对象的一个属性,而onload则是这个Image对象的load事件回调,前者不能准确的在事件发生时进行异步回调并且在浏览器的兼容性上也有些问题。 这两者,只有img.complete可以判断图片加载完成,img.onload并不能判断图片是否加载完,而是在加载完毕之后,直接运行onload绑定的函数。 img加载完成就会解除onload事件,src是异步加载图片的,如果在绑定事件前就已经加载完成,onload事件不会触发。img.complete是一直都有的属性,加载完成后为true。 img.onload是当一张图片被加载完成后所触发的事件实现图片显示功能; &l...
相关文章
文章评论
共有0条评论来说两句吧...