0
任何人都可以告訴我的JavaScript regEx在小數點前接受12個數字,並且只允許小數點後兩位數。如果數字沒有任何小數點,文本框應該接受最多12個數字。值應該只有數字。 我已經有一個指令,我正在執行所有的JavaScript驗證。請讓我知道還有什麼應該添加。Javascript regExp接受小數點後12位數和小數點後兩位數
的directive-
.directive('allowOnlyDigits', function() {
return {
require: '?ngModel',
scope: { currencycode: '=' },
link: function(scope, element, attrs, ngModelCtrl) {
if(!ngModelCtrl) {
return;
}
ngModelCtrl.$parsers.push(function(val) {
if (angular.isUndefined(val)) {
var val = '';
}
var decimalCheck = clean.split('.');
if(!angular.isUndefined(decimalCheck[1])) {
decimalCheck[1] = decimalCheck[1].slice(0,2);
clean = decimalCheck[0] + '.' + decimalCheck[1];
}
if (val !== clean) {
ngModelCtrl.$setViewValue(clean);
ngModelCtrl.$render();
}
return clean;
});
element.bind('keypress', function(event) {
if(event.keyCode === 32) {
event.preventDefault();
}
});
}
};
})
使用['^ [0 -9] {12}(\。[0-9] {2})?$'](https://regex101.com/r/aO2kJ7/1) – Tushar
@Tushar將強制兩位小數,你不能一個 – epascarello
我已經在使用指令來接受數字,小數點後一位數字和兩位數字。我只是想限制最大長度。如果數字沒有任何十進制值,那麼最大長度應該限制爲12。 – user2138675