Форматирование любой строки в формате налогового идентификатора
Я могу отформатировать строку в формате SSN или налогового идентификатора, если строка состоит из всех чисел (например, 123456789). Но по соображениям безопасности данные, которые будут отправлены в пользовательский интерфейс, будут зашифрованы и будут выглядеть следующим образом (*****6789).
В настоящее время я делаю форматирование так:
var taxID = "123456789", formatSpecifier, regex;
regex = RegExp(/(\d{3})(\d{2})(\d{4})/);
formatSpecifier = "$1 - $2 - $3";
taxID = taxID.replace(regex, formatSpecifier);
taxID = taxID.substring(0, taxID.length - 4).replace(/[a-z\d]/gi,"*") + taxID.substring(taxID.length - 4, taxID.length);
return taxID;
Теперь это вернет Tax ID следующим образом: **** - ** - 1234
Но я не просто получаю тот же вывод, если строка содержит звездочки. Я не знаком с регулярными выражениями, и это в основном то, что я могу найти в форматировании чисел SSN. Я использую angularjs/javascript
1 ответ
Вы можете использовать ui-mask для angularjs, он предназначен для вашей цели. Также здесь есть еще один способ использования функции форматирования, если у вас нет отображения в качестве ввода https://jsfiddle.net/V6GN5/486/jsfiddle