Episode 10 of 25
Filters
Learn how to format and transform data with AngularJS filters.
Filters format the value of an expression for display. They are applied using the pipe symbol |.
Built-in Filters
<!-- currency -->
<p>{{ 9.99 | currency }}</p> <!-- $9.99 -->
<p>{{ 9.99 | currency:'£' }}</p> <!-- £9.99 -->
<!-- uppercase / lowercase -->
<p>{{ "hello" | uppercase }}</p> <!-- HELLO -->
<p>{{ "HELLO" | lowercase }}</p> <!-- hello -->
<!-- number -->
<p>{{ 3.14159 | number:2 }}</p> <!-- 3.14 -->
<!-- date -->
<p>{{ today | date:'dd/MM/yyyy' }}</p>
<p>{{ today | date:'fullDate' }}</p>
<!-- json (for debugging) -->
<pre>{{ user | json }}</pre>
<!-- limitTo -->
<p>{{ "Hello World" | limitTo:5 }}</p> <!-- Hello -->
Filter in ng-repeat
<input ng-model="searchText" placeholder="Search...">
<ul>
<li ng-repeat="user in users | filter:searchText | orderBy:'name'">
{{ user.name }} ({{ user.age }})
</li>
</ul>
orderBy Filter
<!-- Sort ascending by name -->
<li ng-repeat="user in users | orderBy:'name'">
<!-- Sort descending -->
<li ng-repeat="user in users | orderBy:'-age'">
Custom Filters
app.filter('reverse', function() {
return function(input) {
return input.split('').reverse().join('');
};
});
// Usage:
// {{ "Hello" | reverse }} → "olleH"
Chaining Filters
<p>{{ message | uppercase | limitTo:10 }}</p>