Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / AngularJs

How to Create Custom Filters in AngularJs

4.14/5 (5 votes)
21 Oct 2014CPOL 19.1K  
Creating your own custom filters in Angular Js

Introduction

Filter in Angular JS is a way that will help you to represent your data in View in a certain format. There are many inbuilt filters provided by Angular js that give us the way to format our data in View. With these inbuilt filters, we can format & show our data in various ways. Text can be shown in uppercase, lowercase. Date can be also represented in various formats. All we need to do it is add a "|" (pipe) after the data.

Example: {{ 'Hello World' | uppercase }}

We can also create custom filter to display our data in a particular way that we want.
Let's see how we can create a custom filter. I am going to implement a custom filter, which reverses the input entered in a text box.

How to Create Custom Filters

C#
//Initialize your ng-app
var myapp = angular.module('MyApp', []);

//Create a Filter
myapp.filter("reversetext", function() {

        //Defining the filter function
         return function(input) {
 
                 var result = "";
                 input = input || "";

                for (var i=0; i<input.length; i++) {
                       result = input.charAt(i) + result;
                 }
    
                return result;
         };
});

Now Use the Filter in your View with HTML

HTML
<body ng-app="MyApp">
       <input type="text" ng-model="text" placeholder="Enter text"/>
        <p>Filtered Reverse Input: {{ text | reversetext }}</p>
</body>

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)