FORUM.RYAN.COM.BR

Graduação em TI (ADS/SI/CS) => Programação em geral => Topic started by: Jefferson on April 19, 2019, 07:05:35 PM

Title: Formatar CPF e telefone em Java
Post by: Jefferson on April 19, 2019, 07:05:35 PM
Code: [Select]
[code-java]private String formatarNumero(String tipo, String numero) {
 
    numero=numero.replaceAll("\\D", ""); //Removo todos os caracteres não-numéricos
    String mascara="";
   
    if (tipo.equalsIgnoreCase("telefone")) {
//Neste ponto o telefone ou tem 11 digitos (celulares) ou 10 digitos (fixos)
mascara= "(##) #####-####"; //Celulares
if (numero.length()==10) mascara="(##) ####-####"; //Telefones fixos
    }
    if (tipo.equalsIgnoreCase("cpf")) {
mascara="###.###.###-##"; 
    }    
try {
javax.swing.text.MaskFormatter formatadorNumero = new javax.swing.text.MaskFormatter(mascara);
javax.swing.JFormattedTextField txtNumero = new javax.swing.JFormattedTextField(formatadorNumero);
txtNumero.setText(numero);
return txtNumero.getText();
} catch (java.text.ParseException e) {
e.printStackTrace();
return "";
}

 }

O método usa três máscaras diferentes:

"###.###.###-##" para CPF

"(##) #####-####" para celulares
"(##) ####-####" para telefones fixos

Você pode mudar a formatação modificando a máscara correspondente

Exemplos de como chamar o método:

   this.telefone=formatarNumero("telefone", numero);
   this.cpf=formatarNumero("cpf", numero);