У меня есть ввод в моей форме, который принимает номер кредитной карты.
<input type="text" class="form-control" name="CCnumber" ng-model="CCnumber" ng-blur="balanceParent.maskCreditCard(this)">
При размытии я хотел бы замаскировать ввод кредитной карты следующим образом:
4444************
И затем, в фокусе, я хотел бы вернуть исходный номер кредитной карты:
4444333322221111
Используя ng-blur, я могу сделать простой javascript, чтобы вернуть замаскированный ввод.
vm.maskCreditCard = function(modalScope) {
if(modalScope.CCnumber){
var CCnumber = modalScope.CCnumber.replace(/\s+/g, '');
var parts = CCnumber.match(/[\s\S]{1,4}/g) || [];
for(var i = 0; i < parts.length; i++) {
if(i !== 0) {
parts[i] = '****';
}
}
modalScope.CCnumber = parts.join("");
}
};
Моя проблема заключается в том, чтобы вернуть этот номер, как только пользователь снова сосредоточится на вводе. Есть ли способ сохранить начальное значение ввода, а также замаскировать его?