TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
C# Corner
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Allow Numbers And Decimal Values In AngularJS Filter
Pankaj Sapkal
Jul 06
2016
Code
736
0
1
facebook
twitter
linkedIn
Reddit
WhatsApp
Email
Bookmark
expand
Html design
<!doctype html
>
<
html
ng-app
>
<
head
>
<
title
>
My Angular App
</
title
>
<
script
src
=
"https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"
>
</
script
>
</
head
>
<
body
>
<
div
ng-app
=
"myApp"
>
<
h2
>
Validate Price
</
h2
>
<
div
ng-controller
=
"MainCtrl"
>
<
input
type
=
"text"
ng-model
=
"salary"
valid-number
/>
</
div
>
</
div
>
</
body
>
</
html
>
Angular File
var app = angular.module(
'myApp'
, []);
app.controller(
'MainCtrl'
, function($scope) {});
app.directive(
'validNumber'
, function() {
return
{
require:
'?ngModel'
,
link: function(scope, element, attrs, ngModelCtrl) {
if
(!ngModelCtrl) {
return
;
}
ngModelCtrl.$parsers.push(function(val) {
if
(angular.isUndefined(val)) {
var val =
''
;
}
var clean = val.replace(/[^0-9\.]/g,
''
);
var decimalCheck = clean.split(
'.'
);
if
(!angular.isUndefined(decimalCheck[1])) {
decimalCheck[1] = decimalCheck[1].slice(0, 2);
clean = decimalCheck[0] +
'.'
+ decimalCheck[1];
}
if
(val !== clean) {
ngModelCtrl.$setViewValue(clean);
ngModelCtrl.$render();
}
return
clean;
});
}
};
});
Allow Numbers
Decimal Values
AngularJS Filter