Verificar se e-mail é valido

6 respostas
L

Boas pessoal,

Preciso criar um metodo que valida se um email fornecido é valido ou não.

Tenho uma lista de clientes na base de dados e preciso de verificar quem tem o e-mail preenchido de forma correcta.

Dentro do campo email, costumo ter registos assim :

[email removido] (este esta correcto)
2º alguem@dominio (este não esta correcto)
alguemdominio.com (este não esta correcto)
4º alguem@.com (este não esta correcto)
[email removido] ; [email removido] ; [email removido] (estes estão correcto)
[email removido] ; alguem2@dominio ; [email removido] (estes estão parcialmente correctos. Neste caso deve-se eliminar o email que nao esta correcto. Apenas o(s) que não esta(o) correcto(s))

Obrigado desde ja !

6 Respostas

A

Sugiro que use expressões regulares. Procure pela classe Regex, da biblioteca java.util.

R

LuisClaudio:
Boas pessoal,

Preciso criar um metodo que valida se um email fornecido é valido ou não.

Tenho uma lista de clientes na base de dados e preciso de verificar quem tem o e-mail preenchido de forma correcta.

Dentro do campo email, costumo ter registos assim :

[email removido] (este esta correcto)
2º alguem@dominio (este não esta correcto)
alguemdominio.com (este não esta correcto)
4º alguem@.com (este não esta correcto)
[email removido] ; [email removido] ; [email removido] (estes estão correcto)
[email removido] ; alguem2@dominio ; [email removido] (estes estão parcialmente correctos. Neste caso deve-se eliminar o email que nao esta correcto. Apenas o(s) que não esta(o) correcto(s))

Obrigado desde ja !

web ou desktop ?
se for web tem o JQuery que faz bem legal, senão, olhe esse tópico:


mesmo sendo servlet, resolve

B

Com certeza a melhor maneira é com regexp.

Aqui tem um guia de consulta rápida

: http://guia-er.sourceforge.net/lista.html

A

Melhor maneira para a validação é REGEX.

bs

E

pode usar algo como

Pattern p = Pattern.compile(".+@.+\\.[a-z]+");
    Matcher m = p.matcher(email);
E

caso alguem precise.
neste caso validando apartir de um objeto,
c só precisa adaptar a sua necessidade

//alguns dos imports necessarios

import java.util.regex.Matcher;

import java.util.regex.Pattern;
import javax.faces.application.FacesMessage;

import javax.faces.component.UIComponent;

import javax.faces.component.UIInput;

import javax.faces.context.FacesContext;

import javax.faces.validator.ValidatorException;

public class Valida {

public void validaEmail(FacesContext context, UIComponent component,
		Object objeto) throws ValidatorException {	
	String digitado = (String) objeto;
	Pattern p = Pattern.compile(".+@.+\\.[a-z]+");
	Matcher m = p.matcher(digitado);
	boolean matchFound = m.matches();

	if (!matchFound) {
		((UIInput) component).setValid(false); 
		FacesMessage message = new FacesMessage("Formato de e-mail inválido.");
		//adiciona mensagem no h:message do campo do objeto atual
		context.addMessage(component.getClientId(context), message);						
	}
}

}

Criado 20 de maio de 2011
Ultima resposta 21 de mai. de 2011
Respostas 6
Participantes 7