我必須做出正則表達式是替換除了數字文字和只有一個點 這裏是我的正則表達式::正則表達式替換文本時,文本包含多個點
var a = text.replace(/[^0-9,.]/g, '');
但它並不代替dot。我必須更換點不止一個。
這裏是代碼:
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<input production-qty ID="test" ng-model="testmodel" type="text" />
</div>
<script>
var app = angular.module("myApp", []);
app.directive('productionQty', function() {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModelCtrl) {
function fromUser(text) {
var transformedInput = text.replace(/[^0-9,.]/g, '');
//var transformedInput = text.matches(/^[0-9]+(?:\.[0-9]+)?$/g);
console.log(transformedInput);
if (transformedInput !== text) {
ngModelCtrl.$setViewValue(transformedInput);
ngModelCtrl.$render();
}
return transformedInput;
}
ngModelCtrl.$parsers.push(fromUser);
}
};
});
app.controller("myCtrl", function($scope) {
});
</script>
</body>
</html>
只有一個點意味着第一個?你能用例子來解釋嗎? –
是的第一個@AvneshShakya –
我已經用代碼更新了這個問題。 @AvneshShakya –