In this blog, I will demonstrate how to allow only numeric values in input textbox, using AngularJS. This technique is most useful for quantity and countable input text.
HTML Code
I have designed a simple input type “Text” in HTML.using AngularJS.
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">AngularJS Text Allow Numeric Only</h3>
</div>
<div class="panel-body">
<input type="text"
class="form-control"
ng-model="TextValues" />
</div>
<div class="panel-footer">
{{TextValues}}
</div>
</div>
AngularJS Code
Create an Angular module and name it as “csharpcor”.
var app = angular.module('csharpcor', []);
Create Angular Controller for initiating the value.
app.controller('NgCtrl', function($scope) {
$scope.TextValues=123456789;
});
Module and Controller name must assign to the HTML element.
<html ng-app="'csharpcor'" ng-controller="NgCtrl">
Create Angular directives as given below.
app.directive('numericonly', function () {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModelCtrl) {
function fromUser(text) {
var transformedInput = text.replace(/[^0-9]/g, '');
if (transformedInput !== text) {
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
return transformedInput;
}
ngModelCtrl.$parsers.push(fromUser);
}
};
});
Assgin a directive to the input text.
<input type="text"
numericonly
class="form-control"
ng-model="TextValues" />
Leave a Reply