Validador de Email

6 respostas
P
package email;

import <a href="http://java.io">java.io</a>.<em>;

public class ValidaEmail {	

boolean VerificaEmail (String email){

boolean teste = true;

int arroba=0;		

String estranhos = “”’|\!#$£%¢¨¬&</em>()-=+§`´çÇ{[ª^~}]º:;<,:;?/° ";

//char cdilha = ç;

if (!Character.isLetter(email.charAt(0))) { //verifica se inicia com alguma coisa diferente de letra, se iniciar da erro <img src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/s.pngmiley.png?v=9" title=":smiley:" class="emoji" alt=":smiley:">			

teste=false; // o ! no inicio do if é negação.

}

else

for(int i=0;i<email.length();i++){

if(email.charAt(i)==@)

arroba++;

}

if (arroba==0||arroba > 1) //verifica se tem arroba e se tem mais de 1 arroba

teste=false;

else

for(int i=0;i<email.length();i++){

for(int j=0;j<estranhos.length();j++){

if(email.charAt(i)== j )

teste=false;

}

/<em>for(int j=0;j<cdilha;j++){//verifica ç

if(email.charAt(i)==j)

teste=false;

}</em>/

}
for (int i=0;  i&lt;email.length()-1; i++){
		if ((email.charAt(i)=='.')&amp;&amp;(email.charAt(i+1)=='@')){ //verifica se tem . antes do arroba
			teste = false;
		}		
		else {
			if ((email.charAt(i )=='@')&amp;&amp;(email.charAt(i+1)=='.')){//verifica se tem . depois do arroba
				teste = false;
			}			
		}
		if(email.indexOf(" ")!=-1){
			teste=false;
		}
	}
	return teste;
}	

boolean verificaPontoFinal(String email){
	boolean verifica= true;
	if(VerificaEmail(email)==true){
		if(email.charAt(email.length()-1)=='.')
			verifica = false;
	}
	else
		verifica=false;
	
	return verifica;
}

public static void main(String[] args) { 
	BufferedReader entrada;
	String Email;
	String op="s";
	entrada = new BufferedReader(new InputStreamReader(System.in));
	ValidaEmail ve = new ValidaEmail();
	try{
		do{				
			System.out.print("E-mail: ");
			Email = entrada.readLine();
			if(ve.verificaPontoFinal(Email)==true)
				System.out.println("Email válido");
			else
				System.err.println("Email invalido");			
		}while(op=="s");
	}catch(Exception e){
		System.err.println("Pau Geral");
	}
}

}

Galera esse código é de um validador de email, mas ainda falta alguns detalhes tipo, ter no mínimo um ponto depois do arroba ex: teste@algo.com, também saber quantos caracteres tem depois do ponto, se for menor que 2 passar email invalido, se tiver mais de 2 pontos dpois do @ passar a mensagem de email invalido, espero que me ajudem, :oops: e isso é pra hj :cry:

muito obrigado a todos :lol:

6 Respostas

J

Assim não é mais fácil?

public static boolean verificaEmail (String email){ String regex = ".+@.+\.[a-z]{2,10}"; return email.matches(regex); }

B

Se vc estiver usando o JavaMail para enviar emails, vc pode fazer:

try
{
	InternetAddress.parse(enderecoEmail, true);
}
catch (AddressException e) 
{
        //o formato está errado. É só tratar aqui dentro
}

Abraços

F

Existe uma API: BrazilUtils.
Dê uma olhada no google.
Nela tem validação de email, cpf, cnpj, etc…

P

bem galera, obrigado pela ajuda, eu fiz um método que verifica quantos pontos tem depois do @ ficou assim:

boolean VerificaqtdPonto(String email){

boolean verificaponto= true;

int posarroba =0;

int qtdponto =0;

for (int i =0; i<email.length();i++){

if(email.charAt(i)==’@’){

posarroba=i;

for(int j= posarroba; j<email.length();j++){

qtdponto++;

}

}

}

if(qtdponto==0)

verificaponto=false;

if(qtdponto>2)

verificaponto=false;

return verificaponto

}
boolean verificaPontoFinal(String email){

boolean verifica= true;

if((VerificaEmail(email)==true)&&(VerificaqtdPonto(email)==true)){

if(email.charAt(email.length()-1)==’.’)

verifica = false;

}

else

verifica=false;

return verifica;
}

falta agora saber quantos carcteres tem depois do ponto… mas isso eu ainda to apanhando :wink:

G

Há várias formas de validar, ultimamente tenho usado a API BrazilUtils. Mas também tem o Commons Validator que é pau para toda obra.

http://jakarta.apache.org/commons/validator/apidocs/org/apache/commons/validator/EmailValidator.html

F

Opa aproveitando o topico, baixei o brasilUtils, mas nao encontrei validação de email!
Onde ela esta?

Criado 5 de dezembro de 2006
Ultima resposta 11 de dez. de 2006
Respostas 6
Participantes 6