Angularjs-utils高亮过滤器在搜索时破坏应用程序
Angularjs ui utils highlight filter breaks application on search
我使用的是Angular ui utils高亮过滤器,我有以下代码:
<span data-ng-bind-html="organization.level1Name | highlight:vm.search"></span>
当我使用像[或()这样的特殊字符进行搜索时,我会得到角度异常和应用程序中断。
SyntaxError:无效的正则表达式:/(/:未终止的组在新RegExp(本机)在v(http://localhost:50463/EIA/source/dist/vendor.min.js:72:1157)在i(http://localhost:50463/EIA/source/dist/vendor.min.js:38:92754)在cr.|(http://localhost:50463/EIA/source/dist/vendor.min.js:38:86832)在h.constant(http://localhost:50463/EIA/source/dist/vendor.min.js:38:92126)在Object.e(http://localhost:50463/EIA/source/dist/vendor.min.js:38:101832)v.摘要(http://localhost:50463/EIA/source/dist/vendor.min.js:38:57280)v.适用(http://localhost:50463/EIA/source/dist/vendor.min.js:38:58986)在http://localhost:50463/EIA/source/dist/client.js:1007:31在http://localhost:50463/EIA/source/dist/vendor.min.js:38:64888未定义
我试着使用了ng消毒库,但还是出现了同样的错误。
求你了,我该怎么解决?
您应该转义RegExp输入,因为(
是正则表达式的特殊字符:
function escapeRegExp(str) {
return str.replace(/['-'[']'/'{'}'(')'*'+'?'.'''^'$'|]/g, "''$&");
}
然后,只需使用它:
new RegExp(escapeRegExp(search), 'gi')
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- 在web应用程序中的新搜索中重新加载搜索结果(不带jQuery)
- (临时)在Web应用程序中存储JSON搜索结果
- 如何在谷歌应用程序脚本环境中获取谷歌搜索输出
- 在搜索应用程序中用JSON数据交换JavaScript数组
- 谷歌应用程序脚本搜索UI下一个和上一个功能
- 用于Cordova应用程序的Javascript SQLite-使用参数搜索,其中字符串包含子字符串大小写insenst
- 是否有离线词库?它应该可以通过节点应用程序进行搜索
- 使用具有应用程序访问令牌的图形 API 搜索用户
- 有什么方法可以隐藏搜索栏,直到用户向上滚动..类似于iPhone上的消息应用程序
- 如何在流星待办事项应用程序示例中添加搜索
- 使用 $timeout 来限制 Angularjs 1.2 搜索应用程序中发出的 http 请求量
- Titanium应用程序保留多次搜索的子视图
- 如何使搜索/分页在我的应用程序中可重用
- 搜索源阻止运行应用程序后,从流星1.1更新到流星1.2
- 如何在加载应用程序之前添加搜索功能
- 如何从SharePoint中搜索单页应用程序(SPA) ?
- Angular 2 - Twitter搜索api -仅应用程序认证错误400
- 是否有可能使用经纬度搜索谷歌图片为web应用程序
- 在 EXT JS 应用程序搜索文本框中添加了输入事件以触发搜索