как отобразить только последние четыре цифры поля ввода в угловых материалах и угловых js?

0

Я хочу создать поле ввода md, в котором будут отображаться только последние 4 цифры, например "******** 1234". Я новичок в угловом материале и угловых js, мои знания ограничены только паролем ввода-вывода, но все символы скрыты или заменены на "". Я сделал javascript этого, и это сработало! но я не знаю, что эквивалентный код этого в угловых js. Вот мой код: '$ (' # cardNum '). Bind (' input ', function() {$ (this).val(($ (this).val(). Replace (/\ d (? =\d {4})/g, '')));});

  • 0
    Я сделал javascript из этого, и это сработало! но я не знаю, что эквивалентный код этого в угловых JS. Вот мой код: $('#cardNum').bind('input', function () { $(this).val(($(this).val().replace(/\d(?=\d{4})/g, '*'))); });
Теги:
angular-material

2 ответа

3

Вы можете создать для него настраиваемый фильтр:

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>

Надеюсь, поможет.

  • 0
    Можете ли вы объяснить регулярное выражение? Как вы используете подходящую группу с function (hide, show) ?
  • 0
    @Guedes я могу положить его в контроллер?
Показать ещё 2 комментария
1

@Guedes я могу использовать это в поле ввода?

<input  name="password" type="password" ng-bind="user.password | passwordMask:4" />

    myapp.controller('controller', function ($scope) {
      $scope.user = {
        name: '',
        password: '',
      };
    });
  • 0
    для ввода нужна модель ng ... но модель ng не позволяет использовать фильтр.
  • 0
    да, но мне нужно поле ввода, чтобы отфильтровать себя, есть идеи?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню