我想创建一个只显示最后 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>
希望对您有所帮助。
我是一名优秀的程序员,十分优秀!