Formatar números de telefone e cartão de crédito no AngularJS

Pergunta um (número de telefone de formatação):

Eu estou tendo que formatar um número de telefone no AngularJS, mas não há filtro para isso. Existe uma maneira de usar filtro ou moeda para formatar 10 dígitos para(555) 555-5255? e ainda preservar o tipo de dados do campo como inteiro?

Pergunta dois (mascarando o número do cartão de crédito):

Eu tenho um campo de cartão de crédito que é mapeado para o AngularJS, como:

<input type="text" ng-model="customer.creditCardNumber"> 

que está retornando o número inteiro (4111111111111111). Eu gostaria de mascarar com xxx os primeiros 12 dígitos e mostrar apenas os últimos 4. Eu estava pensando em usar o filtro: limite para isso, mas não estou claro como. Alguma ideia? Existe uma maneira de também formatar o número com traços, mas ainda manter o tipo de dados como um número inteiro? tipo de4111-1111-1111-1111.

questionAnswers(17)

yourAnswerToTheQuestion