javascript - 如何在 Angular Material 和 Angular js中仅显示输入字段的最后四位数字?

标签 javascript html css angularjs angular-material

我想创建一个只显示最后 4 位数字的 md-input 字段,像这样,"********1234"。我是 Angular Material 和 Angular js 的新手,我的知识仅限于 md-input 密码,但所有字符都被隐藏或替换为“”。我为此制作了一个 javascript,它成功了!但我不知道 Angular 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>

希望对您有所帮助。

关于javascript - 如何在 Angular Material 和 Angular js中仅显示输入字段的最后四位数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39359797/

相关文章:

javascript - 在javascript中检测webkit浏览器?

javascript - ReactJs:如何更新状态属性

html - 如何在正文内容的左侧制作 float 图像?

css - 如何用以下样式制作这个正方形

javascript - 从以下 JSON 对象中将数据作为两个单独的数组获取的最有效方法是什么?

javascript - 如何同时触发多个 JavaScript 函数

javascript - 更改服务日历中的选定行 [CRM2013]

javascript - 如何判断父元素的开头或结尾是否存在文本? HTML DOM 和 JavaScript

javascript - 如何通过单击按钮关闭折叠

css - 混合混合模式 : multiply - Firefox black bug