How to use Regex with ng-repeat in AngularJs?
angularjs, frameworks, javascript, regex
Solution
What tosh mentions should work for you!
If you find yourself wanting to filter by regex more often you can create a custom filter. Something like this fiddle will let you specify a field to check against a regex:
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;
};
});
Used like this where `'type'` indicates the field you are checking against (in this case a field named type):
<div ng-repeat="user in users | regex:'type':'^c5$'"></div>
Problem
I want to use regex in ng-repeat. I have tried the following code but its not working. ``` <div ng-repeat="user in users | filter:{'type':/^c5$/}"></div> ``` I have users array and I only want to display the users with type c5. If I use ``` filter:{'type':'c5'} ``` then its displaying the users with type "ac5x" too, because its contains c5. How can I solve this problem? Maybe there is another solution. Thank You!