В следующем коде используется регулярное выражение /[^\d|\-+|\.+]/g
. Я хочу знать, как работает код и что делает выражение. Кто-нибудь может мне помочь?Что означает регулярное выражение /[^d|-+|.+]/g?
app.$inject = ['$scope'];
app.directive('format', ['$filter', function ($filter) {
return {
require: '?ngModel',
link: function (scope, elem, attrs, ctrl) {
if (!ctrl) return;
ctrl.$formatters.unshift(function (a) {
return $filter(attrs.format)(ctrl.$modelValue)
});
ctrl.$parsers.unshift(function (viewValue) {
var plainNumber = viewValue.replace(/[^\d|\-+|\.+]/g, '');
elem.val($filter('number')(plainNumber));
return plainNumber;
});
}
};
}]);
MDN Reg Exp https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions Узнайте, посмотрите на диаграмму, соедините ее вместе. – epascarello
'' '' '' '' '' '' и '' 'внутри' [] 'заставляют его выглядеть так, как будто он делает что-то другое, чем то, что он на самом деле делает. –