Skip to content

Instantly share code, notes, and snippets.

@paulakreuger
Last active October 18, 2023 19:34
Show Gist options
  • Select an option

  • Save paulakreuger/b2af1958f3d67f46447e to your computer and use it in GitHub Desktop.

Select an option

Save paulakreuger/b2af1958f3d67f46447e to your computer and use it in GitHub Desktop.
Capitalize First Letter Filter - AngularJS
app.filter('capitalize', function() {
return function(input, scope) {
if (input!=null)
input = input.toLowerCase();
return input.substring(0,1).toUpperCase()+input.substring(1);
}
});
@jdell64

jdell64 commented Sep 4, 2015

Copy link
Copy Markdown

Great! thanks!

@reichert621

Copy link
Copy Markdown

adding on to what @simonewebdesign said above, you could also just use angular's built-in lowercase filter and do something like

// CSS
.capitalized { text-transform: capitalize; }

// HTML
<div class="capitalized">{{ data.string | lowercase }}</div>

...to avoid the issues @martininf brought up πŸ˜„

@Sampath123

Copy link
Copy Markdown

app.filter('capitalize', function() {
return function(input, scope) {
if (input!=null)
input = input.toLowerCase();
return input.substring(0,1).toUpperCase()+input.substring(1);
}
});
==>> this wont change JOHN SMITH" or "JoHn SMith" to "John Smith".
It changes to "John smith" instead .

@sunil351

sunil351 commented Feb 7, 2016

Copy link
Copy Markdown

Thank You!

@Leo24

Leo24 commented Feb 7, 2016

Copy link
Copy Markdown

Thanks! Very usefull!)))

@tekkemphani

Copy link
Copy Markdown

@sampath 123 this may help you
`

<script>
    var app = angular.module('myApp', []);
    app.filter('myFilter', function () {
        return function (x) {
            var i,txt = "";
            for (i = 0; i < x.length; i++) {
                if (x[i] == " ") {
                    i++;
                    txt += " "+x[i].toUpperCase(); 
                }
                else {                        
                    txt += x[i];
                }                    
            }
            txt = txt.substring(0, 1).toUpperCase() + txt.substring(1);
            return txt;
        };
    });
    app.controller('namesCtrl', function ($scope) {
        $scope.names = [
            'Jani Wool',
            'Carl',
            'hello margareth',
            'Hege rooman rellex',
            'Joe',
            'Gustav',
            'Birgit',
            'Mary',
            'Kai'
        ];
    });
</script>`

@thiagosbrito

Copy link
Copy Markdown

What if I do have a string like "state of mind", and I just want "State of Mind", what could I do?

@shakee93

shakee93 commented Jun 20, 2016

Copy link
Copy Markdown

Might Help Someone. Angular 2 Pipe (aka filter in Angularjs)

@Pipe({name:` 'capitalize'})
export class CapitalizePipe implements PipeTransform {
    transform(value: string): string {
        if (value!=null)
            value = value.toLowerCase();
        return value.substring(0,1).toUpperCase()+value.substring(1);
    }
}

@Teebo

Teebo commented Jul 26, 2016

Copy link
Copy Markdown

@reichert621 nice one!

@madurapa

Copy link
Copy Markdown

Thanks bro!

@umairhm

umairhm commented Oct 28, 2016

Copy link
Copy Markdown

@reichert621: good one ...

@deepshikh

deepshikh commented Dec 14, 2016

Copy link
Copy Markdown

i have made custom service my html code is:

First word only: {{msg | capitalize}}


All words: {{msg | capitalize:true}}

this is my custom servies js code:

angular.module('MetronicApp', []).
filter('capitalize', function () {
return function (input, all)
{
var reg = (all) ? /([^\W_]+[^\s-]*) /g : /([^\W_]+[^\s-])/;
return (!!input) ? input.replace(reg, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }) : '';
}
});

function seivicesController($scope) {
$scope.msg = 'hello, world.';
}

while i m trying to use in my other controller
code is
$scope.msg = seivicesController.capitalize(input);
stil not getting ans

@tarunwittyfeed

Copy link
Copy Markdown

return countries.filter(function(country) {
return country.name.toLowerCase().indexOf($query) != -1;

@nagasaikrishna

Copy link
Copy Markdown

In css add,

.capitalize::first-letter {
text-transform: uppercase;
}
.capitalize1 {
text-transform: lowercase;
}

and use,
class ="capitalize1 capitalize"
in HTML files

@somdey

somdey commented Jun 30, 2017

Copy link
Copy Markdown

πŸ‘

@anilmadala

Copy link
Copy Markdown

@paula Kreuger
Thanks for nice one and simple filter .

@HarshJains

Copy link
Copy Markdown

adding on to what @simonewebdesign said above, you could also just use angular's built-in lowercase filter and do something like

// CSS
.capitalized { text-transform: capitalize; }

// HTML
<div class="capitalized">{{ data.string | lowercase }}</div>

...to avoid the issues @martininf brought up πŸ˜„

Can you explain me how it works?

@simonewebdesign

Copy link
Copy Markdown

Can you explain me how it works?

The idea is to convert the string to lower case, then let CSS capitalize each first letter. It can be necessary if you need to prevent the edge cases mentioned by @martininf.

@HarshJains

HarshJains commented Jul 26, 2020 via email

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment