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 :
1º alguem@dominio.com (este esta correcto)
2º alguem@dominio (este não esta correcto)
3º alguemdominio.com (este não esta correcto)
4º alguem@.com (este não esta correcto)
5º alguem@dominio.com ; alguem2@dominio.com ; alguem3@dominio.com (estes estão correcto)
6º alguem@dominio.com ; alguem2@dominio ; alguem3@dominio.com (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 !
Sugiro que use expressões regulares. Procure pela classe Regex , da biblioteca java.util .
[quote=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 :
1º alguem@dominio.com (este esta correcto)
2º alguem@dominio (este não esta correcto)
3º alguemdominio.com (este não esta correcto)
4º alguem@.com (este não esta correcto)
5º alguem@dominio.com ; alguem2@dominio.com ; alguem3@dominio.com (estes estão correcto)
6º alguem@dominio.com ; alguem2@dominio ; alguem3@dominio.com (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 !
[/quote]
web ou desktop ?
se for web tem o JQuery que faz bem legal, senão, olhe esse tópico:
mesmo sendo servlet, resolve
Com certeza a melhor maneira é com regexp.
Aqui tem um guia de consulta rápida
: http://guia-er.sourceforge.net/lista.html
Melhor maneira para a validação é REGEX.
bs
pode usar algo como
Pattern p = Pattern.compile(".+@.+\\.[a-z]+");
Matcher m = p.matcher(email);
elanod
Maio 21, 2011, 10:15am
#7
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);
}
}
}