Allow only numbers/decimal in input box using AngularJS

If your requirement is to restrict the user input on number and decimal using angularJS then this post will help you in that. If you are using the jQuery then you can visit this post.
Let’s get started
Step 1 – Prerequisites
https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.9/angular.js
Step 2 – HTML Code
<input name="NoOfContracts" allow-Decimal-Numbers type="text" id="NoOfContracts" />
<input name="Price" allow-Numbers type="text" id="Price" />

Step 3 – angularJS code
Only Numeric
                var app = angular.module('App', []);
       app.directive('allowNumbers', function () {
        return {
            restrict: "A",
            link: function (scope, element, attr) {
                element.bind('input', function () {
                    var position = this.selectionStart - 1;

                    //remove all but number
                    var fixed = this.value.replace(/[^0-9]/g, '');

                    if (this.value !== fixed) {
                        this.value = fixed;
                        this.selectionStart = position;
                        this.selectionEnd = position;
                    }
                });
            }
        }
    });
Decimal
    app.directive('allowDecimalNumbers', function () {
        return {
            restrict: "A",
            link: function (scope, element, attr) {
                element.bind('input', function () {
                    var position = this.selectionStart - 1;

                    //remove all but number and .
                    var fixed = this.value.replace(/[^0-9\.]/g, '');
                    if (fixed.charAt(0) === '.')                  //can't start with .
                        fixed = fixed.slice(1);

                    var pos = fixed.indexOf(".") + 1;
                    if (pos >= 0)               //avoid more than one .
                        fixed = fixed.substr(0, pos) + fixed.slice(pos).replace('.', '');

                    if (this.value !== fixed) {
                        this.value = fixed;
                        this.selectionStart = position;
                        this.selectionEnd = position;
                    }
                });
            }
        }
    });

Comments

Popular posts from this blog

SSIS Merge Join - Both inputs of the transformation must contain at least one sorted column, and those columns must have matching metadata SSIS

jsGrid

Add Item to SharePoint List with attachment using client object model