js 用正则表达式模仿SQL like % 的模糊匹配
作者:Yan
//过滤筛选
function dCell_ChangeCell(col, row, text) {if(row == 2){var colCount= dCell.GetCols(0);var rowCount= dCell.GetRows(0);var v_row;var v_col;var arr_header = new Array();var filterExpr = "",filterExprLen=0;for(v_col=1;v_col<=maxFilterCol;v_col++){filterExpr = dCell.GetCellString2(v_col,2,0).toUpperCase();filterExprLen = filterExpr.length;if( filterExprLen > 0 & filterExpr.indexOf("%") === filterExprLen-1 & filterExpr.lastIndexOf("%") === filterExprLen-1 ) { //模糊匹配:开头固定filterExpr = "^"+filterExpr.replace(/%/g,"");filterExpr = new RegExp(filterExpr);} else if( filterExprLen > 0 & filterExpr.indexOf("%") === 0 & filterExpr.lastIndexOf("%") === 0 ) { //模糊匹配:结尾固定filterExpr = filterExpr.replace(/%/g,"")+"$";filterExpr = new RegExp(filterExpr);} else if( filterExprLen > 0 & filterExpr.indexOf("%") === 0 & filterExpr.lastIndexOf("%") === filterExprLen-1 ) { //模糊匹配:中间固定filterExpr = filterExpr.replace(/%/g,"");filterExpr = new RegExp(filterExpr);} else {}arr_header[v_col-1] = filterExpr;}var v_flag, v_value1, v_value2;for(v_row=3;v_row<rowCount;v_row++){v_flag = 0;for(v_col=1;v_col<=maxFilterCol;v_col++){v_value1 = arr_header[v_col-1];if(v_value1 == ""||text == "")continue;v_value2 = dCell.GetCellString(v_col,v_row,0).toUpperCase();/*if( v_value2.indexOf(v_value1) == -1 ){v_flag = 1;break;}*///如果精确查询和模糊查询都不匹配,则标记为隐藏//alert(v_value1 + " : " +v_value2);if ( v_value1.constructor === String & v_value1 !== v_value2 ) {v_flag = 1;break;} else if ( v_value1.constructor === RegExp & !(v_value1.test(v_value2)) ) {v_flag = 1;break;} else {}}if(v_flag == 1)dCell.SetRowHidden(v_row,v_row);elsedCell.SetRowUnHidden(v_row,v_row);}}}
js 用正则表达式模仿SQL like % 的模糊匹配相关推荐
- 通用算法-sql相似度模糊匹配
1.需求描述:数据库采集sql语句的记录表,包含记录编号-ID.日期时间-data.sql语句-statement,对表内每一条记录的sql语句和表内其他记录的sql语句进行模糊匹配,以顺序字符匹配方 ...
- ajax下拉列表模糊,JS仿百度自动下拉框模糊匹配提示
实际项目中,我们可以把数据获取改成ajax动态获取,在 getContent()中 js/jQuery实现类似百度搜索功能 #container { position: absolute; left: ...
- SQL字符串开头模糊匹配
1:以字段开头模糊查询的like的方法查询 select * from t where t.user_code like 'A%' 2:以字段开头模糊查询的left(字段,长度)的方法查询 sel ...
- fme结合python-pandas实现图形数据和表格数据的模糊匹配挂接
1.需求分析 1.shp为原始数据,包含了图形信息和属性信息,可以看到姓名作为挂接项,包含的干扰项目很多,让我们根本没有办法用正则表达式过滤出来 2.xlsx为表格数据,里面包含了我们需要挂接的属性, ...
- 学习JS的正则表达式
2019独角兽企业重金招聘Python工程师标准>>> JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助 正则表达式中的特殊字符 字符 含意 \ 做 ...
- 收集的JS常用正则表达式等
// 短日期,形如 (2003-12-05) function strDateTime(str) { var r = str.match(/^(d)(-│/)(d)2(d)$/); if(r==n ...
- 收集的JS常用正则表达式等(转载)
// 短日期,形如 (2003-12-05) function strDateTime(str) { var r = str.match(/^(d)(-│/)(d)2(d)$/); if( ...
- js模糊匹配(like)
//js 模糊匹配(也就是sql中的like) //其实就是类似contain()方法,找到str2里面是否包含有str1,不存在返回-1,存在返回0 function like(str1,str2) ...
- Postgresql学习笔记之——模糊匹配LIKE、SIMILAR TO和POSIX正则表达式
1.介绍 Postgresql数据库中提供三种实现模糊匹配的方式: 1.传统的SQL的LIKE操作. 2.SQL99中SIMILAR TO操作符. 3.POSIX风格的正则表达式. 另外还有一个模式匹 ...
最新文章
- php7.1 改动,PHP7错误处理机制修改
- PyTorch基础-使用LSTM神经网络实现手写数据集识别-08
- Cocos2D-x(3)——动作类备忘
- java编写算术平均数,[求助]基础-怎样编一个计算算术平均数的程序(急啊)
- 使用JavaFX AnimationTimer
- Windows Server 2008 部署权限管理RMS
- page对保护的作用
- 转:error LNK2001 错误
- hdoj 1071 The Area 求面积
- flex布局——回顾
- Android的Splash界面支持用户点击
- Software--WCF
- 20200715每日一句
- 纯HTML个人简历模板代码
- EXCEL柱状图制作(三)
- 企业微信邀请通知在哪里设置?如何关闭?
- 学生信息管理系统-GUI
- 彻底理解vue的钩子函数,vue的生命周期理解,什么是vue的生命周期,钩子函数
- 生活家健康指南:创可贴使用四大误区
- 如果你在用vivo手机拍照的话,这个功能要打开,不然白浪费了这么好的手机
热门文章
- 数学之路(3)-机器学习(3)-机器学习算法-SVM[9]
- Http中Get/Post请求区别
- (转)几种常用存储过程分页方法
- Qt中为自己的程序建立一个消息循环
- QT的系统总结(非常全面)
- C语言入门之指针用法教程
- uni-app使用input框 v-model双向绑定不起作用解决方案
- IOS开发基础之UI基础的团购源码完整版本
- 速率法和终点法的区别_生化分析仪检测中的终点法、两点法、双波长法有什么区别...
- 按钮是什么意思_汽车里的Rear按键是什么意思?