Я создаю директиву, где я могу выбрать длину десятичных знаков, и принимать только одну запятую или точку, но я столкнулся с проблемами для достижения идеального регулярного выражения ,Предельные десятичные разряды в директиве
Мой код:
var decimalLenght = 2;
ngModelCtrl.$parsers.push(function(val) {
if (angular.isUndefined(val)) {
var val = '';
}
var clean = val.replace(/[^0-9]+(\.[0-9]{1,2})?$/g, '');
if (val !== clean) {
ngModelCtrl.$setViewValue(clean);
ngModelCtrl.$render();
}
return clean;
});
Собственно регулярное выражение не давая мне вставить точки или запятой, а также позволяет вводить более чем предел знаков после запятой.
Ваше регулярное выражение не имеет смысла. Он удаляет почти все, кроме чисел и/или точек + от 1 до 2 чисел в конце. Показывать некоторые примеры до/после – sln
Это doenst имеет смысл, потому что не понимает код, конечно, не удаляет числа ..., я хочу удалить все, что не является числом, точками или комами –
Почему вы не использовали эту директиву? https://github.com/nitishkumarsingh13/Angularjs-Directive-Accept-Number-Only – developer033