我正在創建一個指令,我可以選擇小數位的長度,並且只接受一個逗號或點,但是我正面臨着實現完美正則表達式的問題。限制指令中的小數位
我代碼:
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
由於不理解代碼,當然不刪除數字...,我想要刪除不是數字,點或逗號的任何東西 –
爲什麼不使用此指令? https://github.com/nitishkumarsingh13/Angularjs-Directive-Accept-Number-Only – developer033