我想在ng-repeat中使用正则表达式。我尝试了以下代码,但无法正常工作。
<div ng-repeat="user in users | filter:{'type':/^c5$/}"></div>
我有用户数组,我只想显示类型为c5的用户。
如果我用
filter:{'type':'c5'}
然后它也以“ ac5x”类型显示用户,因为它包含c5。
我怎么解决这个问题?也许还有另一种解决方案。
谢谢!
Tosh提到的内容应该对您有用!
如果您发现自己想更频繁地使用正则表达式进行过滤,则可以创建一个自定义过滤器。像这样的小提琴使您可以指定一个字段来检查正则表达式:
var myApp = angular.module('myApp', []); myApp.filter('regex', function() { return function(input, field, regex) { var patt = new RegExp(regex); var out = []; for (var i = 0; i < input.length; i++){ if(patt.test(input[i][field])) out.push(input[i]); } return out; }; });
像这样使用where 'type'表示要检查的字段(在这种情况下为type字段):
'type'
<div ng-repeat="user in users | regex:'type':'^c5$'"></div>