Html- controls
<input type='text' ng-model='a' alpha-numeric/>
<input type='text' ng-model='b' numbers-only/>
Directive
-----------------
app.directive('alphaNumeric', function () {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModelCtrl) {
function fromUser(text) {
var transformedInput = text.replace(/[^0-9a-zA-Z\-\s]/g, '');
console.log(transformedInput);
if (transformedInput !== text) {
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
return transformedInput; // or
return Number(transformedInput)
}
ngModelCtrl.$parsers.push(fromUser);
}
};
});
app.directive('numbersOnly', function () {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModelCtrl) {
function fromUser(text) {
if (text) {
var transformedInput =
text.replace(/[^0-9]/g, '');
if (transformedInput !== text)
{
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
return transformedInput;
}
return undefined;
}
ngModelCtrl.$parsers.push(fromUser);
}
};
});
No comments:
Post a Comment