作者: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 % 的模糊匹配相关推荐

  1. 通用算法-sql相似度模糊匹配

    1.需求描述:数据库采集sql语句的记录表,包含记录编号-ID.日期时间-data.sql语句-statement,对表内每一条记录的sql语句和表内其他记录的sql语句进行模糊匹配,以顺序字符匹配方 ...

  2. ajax下拉列表模糊,JS仿百度自动下拉框模糊匹配提示

    实际项目中,我们可以把数据获取改成ajax动态获取,在 getContent()中 js/jQuery实现类似百度搜索功能 #container { position: absolute; left: ...

  3. SQL字符串开头模糊匹配

    1:以字段开头模糊查询的like的方法查询 select * from t  where  t.user_code like 'A%' 2:以字段开头模糊查询的left(字段,长度)的方法查询 sel ...

  4. fme结合python-pandas实现图形数据和表格数据的模糊匹配挂接

    1.需求分析 1.shp为原始数据,包含了图形信息和属性信息,可以看到姓名作为挂接项,包含的干扰项目很多,让我们根本没有办法用正则表达式过滤出来 2.xlsx为表格数据,里面包含了我们需要挂接的属性, ...

  5. 学习JS的正则表达式

    2019独角兽企业重金招聘Python工程师标准>>> JS正则表达式大全(整理详细且实用).需要的朋友可以过来参考下,希望对大家有所帮助 正则表达式中的特殊字符 字符 含意 \ 做 ...

  6. 收集的JS常用正则表达式等

    //   短日期,形如 (2003-12-05) function strDateTime(str) { var r = str.match(/^(d)(-│/)(d)2(d)$/); if(r==n ...

  7. 收集的JS常用正则表达式等(转载)

    //   短日期,形如 (2003-12-05)  function strDateTime(str)  {  var r = str.match(/^(d)(-│/)(d)2(d)$/);  if( ...

  8. js模糊匹配(like)

    //js 模糊匹配(也就是sql中的like) //其实就是类似contain()方法,找到str2里面是否包含有str1,不存在返回-1,存在返回0 function like(str1,str2) ...

  9. Postgresql学习笔记之——模糊匹配LIKE、SIMILAR TO和POSIX正则表达式

    1.介绍 Postgresql数据库中提供三种实现模糊匹配的方式: 1.传统的SQL的LIKE操作. 2.SQL99中SIMILAR TO操作符. 3.POSIX风格的正则表达式. 另外还有一个模式匹 ...

最新文章

  1. php7.1 改动,PHP7错误处理机制修改
  2. PyTorch基础-使用LSTM神经网络实现手写数据集识别-08
  3. Cocos2D-x(3)——动作类备忘
  4. java编写算术平均数,[求助]基础-怎样编一个计算算术平均数的程序(急啊)
  5. 使用JavaFX AnimationTimer
  6. Windows Server 2008 部署权限管理RMS
  7. page对保护的作用
  8. 转:error LNK2001 错误
  9. hdoj 1071 The Area 求面积
  10. flex布局——回顾
  11. Android的Splash界面支持用户点击
  12. Software--WCF
  13. 20200715每日一句
  14. 纯HTML个人简历模板代码
  15. EXCEL柱状图制作(三)
  16. 企业微信邀请通知在哪里设置?如何关闭?
  17. 学生信息管理系统-GUI
  18. 彻底理解vue的钩子函数,vue的生命周期理解,什么是vue的生命周期,钩子函数
  19. 生活家健康指南:创可贴使用四大误区
  20. 如果你在用vivo手机拍照的话,这个功能要打开,不然白浪费了这么好的手机

热门文章

  1. 数学之路(3)-机器学习(3)-机器学习算法-SVM[9]
  2. Http中Get/Post请求区别
  3. (转)几种常用存储过程分页方法
  4. Qt中为自己的程序建立一个消息循环
  5. QT的系统总结(非常全面)
  6. C语言入门之指针用法教程
  7. uni-app使用input框 v-model双向绑定不起作用解决方案
  8. IOS开发基础之UI基础的团购源码完整版本
  9. 速率法和终点法的区别_生化分析仪检测中的终点法、两点法、双波长法有什么区别...
  10. 按钮是什么意思_汽车里的Rear按键是什么意思?