如何在angular material和angular js中只显示输入字段的最后四位数字

how to display only the last four digits of an input field in angular material and angular js?

本文关键字:angular 最后 数字 四位 字段 显示 material js 输入      更新时间:2023-09-26

我想做一个md输入字段,其中只有最后4位数字将显示,像这样,"********1234"。我是角材料和角js的新手,我的知识仅限于md输入密码,但所有字符都被隐藏或替换为""。我做了一个javascript,它工作了!但我不知道这个在angular js中的等价代码是什么。这是我的代码:' $('#cardNum')。Bind ('input', function () {美元(美元).val(((这).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>

希望能有所帮助。

@Guedes我可以在输入字段中使用这个吗?

<input  name="password" type="password" ng-bind="user.password | passwordMask:4" />
    myapp.controller('controller', function ($scope) {
      $scope.user = {
        name: '',
        password: '',
      };
    });