Eu uso esta classe que fiz.
Mando anexo a Classe Validador.java e a classe CPFInvalidoExcepcion.java que fica em um pacote Util dos meus sistemas. Esta tem a implementa��o de Validador de CPF e E-mails.
Gustavo Marinho
Recife-PE
From: "Hildebrando Furlan Neto" <[EMAIL PROTECTED]>,
Reply-To: [EMAIL PROTECTED]
To: <[EMAIL PROTECTED]>
Subject: [java-list] Validar CNPJ e CPF
Date: Sat, 9 Nov 2002 22:31:28 -0200
Pessoal,
Algu�m por acaso n�o teria uma classe com m�todos para validar CNPJ e CPF ???
ps.: encontrei apenas exemplos em Javascript e transforma-los para JAVA ser� minha ultima op��o.
Atenciosamente,
Hildebrando Furlan Neto
JAVA � J�IA
^
\--- /-O-\---/
(_.--._)
_________________________________________________________________
MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br
package util;
import java.lang.*;
public class Validador {
/**
* M�todo p/ validacao de CPF.
* Baseada no algoritmo de geracao de digito de verificacao, Modulo 11.
* O CPF deve ser passado como string, somente com numeros, sem pontos ou
* traco. O sistema n�o aceitara string diferente de 11 caracter.
*/
public static String validaCpf(String cpf) throws CpfInvalidoException{
int i, j, k;
int soma;
int digito;
int numeroI;
boolean confirmacao,tamanho;
String numero;
String mensagem = "";
confirmacao = false;
if (cpf.length() == 11){
numero = cpf.substring(0, 9);
for (j=1; j<3; j++){
k = 2;
soma = 0;
for (i= (numero.length() - 1); i>=0; i--){
numeroI = Integer.parseInt(String.valueOf(numero.charAt(i)));
soma = soma + numeroI * k;
k = k + 1;
}
digito = 11 - (soma % 11);
if (digito >= 10)
digito = 0;
numero = numero + digito;
}
confirmacao = true;
if (!cpf.equals(numero)){
mensagem = "CPF Invalido!";
confirmacao = false;
}
}else {
mensagem = "O CPF deve ter 11 digitos!";
}
if (!confirmacao) {
throw new CpfInvalidoException(cpf,mensagem);}
return cpf;
}
/**
* Metodo validador de e-mails
* Este metodo ir� retornar uma string com E-mail digitado para validacao.
* Sera feito verificacao de presencao do arroba e do ponto no contexto.
* Sera lancado uma excecao com uma mensagem informando o motivo do erro.
*/
public static String validaEmail(String eMail) throws EmailInvalidoException{
boolean resp = false;
String mensagem = "";
if (eMail.length() != 0){
if (eMail.indexOf('.') == -1){
mensagem = "Esta faltando o ponto (.)!";}
if (eMail.indexOf('@') == -1){
mensagem = "Esta faltando o arroba (@)!";}
if ((eMail.indexOf('@') != -1) && (eMail.indexOf('.') != -1)){
if (eMail.indexOf('.', eMail.indexOf('@')) != -1) {
resp = true;
}else{mensagem = "Esta faltando o ponto (.) depois do arroba (@)!";}
}
if (resp) {
eMail = eMail.toLowerCase();
}else{throw new EmailInvalidoException(eMail,mensagem);}
}
return eMail;
}
public static String validaData(String data) throws DataInvalidaException {
boolean resp = true;
String mensagem = "";
if (data.length() == 10){
if (data.indexOf('/') == -1){
if (data.indexOf('/',data.indexOf('/')) != -1){
resp = true;
}else{
resp = false;
mensagem = "O formato da data v�lido � dd/mm/aaaa!";
}
}
}else{
mensagem = "O formato da data v�lido � dd/mm/aaaa!";
resp = false;
}
if (!resp){
throw new DataInvalidaException(data,mensagem);
}
return data;
}
}
package util;
/**
* Title: Gest�o de Clinica Fonoaudiol�gica
* Description: Projeto para Gest�o de uma Cl�nica Fonoaudi�loga
* Desenvolvido para a cadeira de Fundamentos de Programa��o
* Copyright: Copyright (c) 2002
* Company: PosGradu��o - Tecnologias da Informa��o - Turma 10
* @author Eduardo Bomfim, Gustavo Marinho, Luiz Eduardo Santos, Ricardo Veras
* @version 1.0
*/
public class CpfInvalidoException extends Exception{
private String cpf;
public CpfInvalidoException(String cpf) {
this(cpf,"Cpf Invalido");
}
public CpfInvalidoException(String cpf, String mensagem) {
super(mensagem);
this.cpf = cpf;
}
public String getCpf() {
return cpf;
}
}
------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------
