Ola pessoal,
Teria alguma classe no java, pra q eu possa utilizar pra formatar CPF, CNPJ e CEP, como a NumberFormat para formatar numeros.
Valeu !!!
Ate +!
Ola pessoal,
Teria alguma classe no java, pra q eu possa utilizar pra formatar CPF, CNPJ e CEP, como a NumberFormat para formatar numeros.
Valeu !!!
Ate +!
Se o negócio é só formatar pode ser que você resolva com um objeto da classe maskformater:
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/text/MaskFormatter.html
http://www.imasters.com.br/artigo.php?cn=2364&cc=15
Amigo, acho que tenho tudo que precisa.
//----------------inicia o campo de Cep-------------------------------------------
TextField tfcep;
try{
javax.swing.text.MaskFormatter format_textField3 = new javax.swing.text.MaskFormatter("#####-###");
tfcep = new javax.swing.JFormattedTextField(format_textField3);
}catch (Exception e){}
//---------------------inicia campo cpf-------------------------------------------
TextField tfcpf;
try{
javax.swing.text.MaskFormatter format_textField4 = new javax.swing.text.MaskFormatter("###.###.###-##");
tfcpf = new javax.swing.JFormattedTextField(format_textField4);
}catch (Exception e){}
//------inicia campo cpnj----------------------------------------------------------
TextField tfcnpj;
try{
javax.swing.text.MaskFormatter format_textField4 = new javax.swing.text.MaskFormatter("##.###.###/####-##");
tfcnpj = new javax.swing.JFormattedTextField(format_textField4);
}catch (Exception e){}
Se precisar e eu poder ajudar, ficarei satisfeito.
[quote=tiagogn]Ola pessoal,
Teria alguma classe no java, pra q eu possa utilizar pra formatar CPF, CNPJ e CEP, como a NumberFormat para formatar numeros.
Valeu !!!
Ate +! [/quote]
Depende do que você chama de formatar. Se você tem uma string e quer aplicar uma máscara e obter como saída um CPF/CEP formatado as classes CpfCnpj e Cep na API BrazilUtils te servem. Se você quer colocar uma máscara pronta em um JFormattedTextField também serve. Na classe CpfCnpj tem duas constantes: CNPJ_MASK e CPF_MASK, na classe Cep tem a CEP_MASK.
CAqi vai um código inútil só para mostrar como poderia funcionar:
Cep c = new Cep();
MaskFormatter formatter = new MaskFormatter(c.getMask());
JFormattedTextField textField = new JFormattedTextField();
formatter.install(textField);
No caso da clase CpfCnpj deve-se passar o número do CPF ou CNPJ para que o método getMask() retorne a máscara de CPF ou CNPJ dependendo do tamanho (11 para CPF e 14 para CNPJ).
A versão das classes não está muito atual, mas você pode usar as constantes no seu MaskFormatter por enquanto.
Então pessoal , todos os exemplos q vcs me passaram utilizam o textfiled, mas eu não estou em uma aplicação swing e sim WEB, por tanto o usuario vai digitar o cpf como 00000000000, e na proxima tela eu mando formatado como 00.000.000.-00, pois tb estou gerando pdf’s com o iText, e precisava formata-los la tb !, e eu não posso usar javascript, teria q ser em java mesmo !
Ate +!
Valeu !
[quote=tiagogn]Então pessoal , todos os exemplos q vcs me passaram utilizam o textfiled, mas eu não estou em uma aplicação swing e sim WEB, por tanto o usuario vai digitar o cpf como 00000000000, e na proxima tela eu mando formatado como 00.000.000.-00, pois tb estou gerando pdf’s com o iText, e precisava formata-los la tb !, e eu não posso usar javascript, teria q ser em java mesmo !
[/quote]
Leia novamente a primeira parte da minha mensagem. Você pode usar para componentes visuais ou simplesmente para formatação de Strings. Eu postei um exemplo com TextField, aqui vai um com String simples:
Cep c = new Cep();
c.setCep("21021380");
System.out.println(c.toString); // A saída é 21.021-380
também…
CpfCnpj cpf = new CpfCnpj();
cpf.setCpfCnpj("12345678900"); // É um Cpf
System.out.println(cpf.toString); // A saída é 123.456.789-00
cpf.setCpfCnpj("12345678901234");
System.out.println(cpf.toString); // A saída é 12.345.678/9012-34
Tentei encontrar tb uma classe em java que fizesse exatamente isso. Mas nao encontrei entao desenvolvi uma funcao que faz isso.
public static String getValueMaskFormat(String pMask, String pValue,
boolean pReturnValueEmpty){
/*
* Verifica se se foi configurado para nao retornar a
* mascara se a string for nulo ou vazia se nao
* retorna somente a mascara.
*/
if (pReturnValueEmpty == true
&& (pValue == null || pValue.trim().equals("")))
return "";
/*
* Substituir as mascaras passadas como 9, X, * por # para efetuar a formatcao
*/
pMask = pMask.replaceAll("*", "#");
pMask = pMask.replaceAll("9", "#");
pMask = pMask.toUpperCase().replaceAll("X", "#");
/*
* Formata valor com a mascara passada
*/
for(int i = 0; i < pValue.length(); i++){
pMask = pMask.replaceFirst("#", pValue.substring(i, i + 1));
}
/*
* Subistitui por string vazia os digitos restantes da mascara
* quando o valor passado é menor que a mascara
*/
return pMask.replaceAll("#", "");
}
Alguem fazer uma mascara para e-mail?
Estou tentando achar alguma coisa ou material falando sobre o assunto e nada… Abracos
regex para email:
[a-z0-9]+@[a-z0-9]+\.[a-z0-9]{2,4}
se quiser aceitar letras maiusculas tambem coloca [a-zA-Z0-9]
Cara precisava ver mesmo como fazer uma mascara… para deixar o TextField esperando um texto com “@ .com”, dai o cara vai digitando o e-mail ele vai preenchendo, ao usuario digitaar @ ele passar para o dominio do e-mail, dai ele pode deixar o .com ou colocar .com.br!!!
Algo neste sentido… sem limitar tamanho… abracos
Fiz uma funcao que recebe o valor e a mascara e retorna o resultado formatado.
public static String formatarString(String texto, String mascara) throws ParseException {
MaskFormatter mf = new MaskFormatter(mascara);
mf.setValueContainsLiteralCharacters(false);
return mf.valueToString(texto);
}
valeu Wendel2s,
Essa foi a melhor solução que vi até agora.
Realmente muito boa, mas ressucitou bem o tópico.