Я хочу создать поле ввода md, в котором будут отображаться только последние 4 цифры, например "******** 1234". Я новичок в угловом материале и угловых js, мои знания ограничены только паролем ввода-вывода, но все символы скрыты или заменены на "". Я сделал javascript этого, и это сработало! но я не знаю, что эквивалентный код этого в угловых js. Вот мой код: '$ (' # cardNum '). Bind (' input ', function() {$ (this).val(($ (this).val(). Replace (/\ d (? =\d {4})/g, '')));});
Вы можете создать для него настраиваемый фильтр:
appModule.filter('passwordMask', function() {
return function (input, num) {
if (isNaN(num) || num < 1) {
return String(input).replace(/./g, '*');
}
var mask = RegExp('(.{1,' + num + '}$)|.', 'g');
return String(input).replace(mask, function(hide, show) {
return show || '*';
});
};
});
И используйте его так:
<div ng-bind="passwordModel | passwordMask:4" class="password-style"></div>
Надеюсь, поможет.
function (hide, show)
?
@Guedes я могу использовать это в поле ввода?
<input name="password" type="password" ng-bind="user.password | passwordMask:4" />
myapp.controller('controller', function ($scope) {
$scope.user = {
name: '',
password: '',
};
});
$('#cardNum').bind('input', function () { $(this).val(($(this).val().replace(/\d(?=\d{4})/g, '*'))); });