Mascara para telefone, cep [Resolvido]

Olá a todos,

procuro alguma forma de formatar uma string com cep e outra de telefone para me retornar já com as respectivas máscaras.

encontrei somente como usar com o JformattedTextField e outros componentes, mas eu gostaria apenas de tratar a string, sem nenhum componente visual.

você poderia criar uma classe Cep e outra Telefone e formatar o toString()!!

espero ter ajudado!!

Abraço,

pois é, estou procurando como criar essa classe.
para formatar valores decimais que eu também precisava eu encontrei a DecimalFormat
ex:

new DecimalFormat("#,###,##0.00")).format(new Float(12345.67890)

já me retorna a string formatada com separação de milhar, milhão e somente duas casas decimais.

agora estou descobrindo como formatar cep e telefone

Não sei se é bem isso que tu precisa mas da uma olhada.

http://www.guj.com.br/posts/list/123213.java#666475

cara sua o EasyFaces cara…

Resolvi como o Kcoelho sugeriu, ficou desta forma.

        String CEP = "12345678";
        System.out.println(CEP.substring(0, 5) + "-" + CEP.substring(5));
        String TEL = "1234567890123";
        System.out.println("(" + TEL.substring(0, 2) + ")" + TEL.substring(2, 6) + "-" + TEL.substring(6, 10));

trata exatamente o que eu preciso de forma prática.

obrigado a todos pela ajuda.

Eu fiz uma função assim:


    public static String formatString(String value, String pattern) {
        MaskFormatter mf;
        try {
            mf = new MaskFormatter(pattern);
            mf.setValueContainsLiteralCharacters(false);
            return mf.valueToString(value);
        } catch (ParseException ex) {
            return value;
        }
    }

Para formatar é só usar assim:


  String CEP = formatString("12345678","#####-###");

  String TEL = formatString("1234567890123","(##) ####-####");
1 curtida

Eu até tentei usar o MaskFormatter… mas não consegui, então parti pra outra

mas legal que agora sei como usar :smiley:

valeu