Validar e-mail

6 respostas
H

Pessoal eu usei as regex pra validar um endereco de e-mail..sofri um poquino com escapamento do ponto, mas o pessoal ajudou ai e nos meus testes deu tudo certo, dai se vc pudesem olhar se a validacao esta certa

import java.util.regex.*;

public class Regex
{
	public static void main(String args[])
	{
		
		if(args[0].length() >= 5 && args[0].length() <= 155)
		{
		
			Pattern pegaJava = Pattern.compile("[\ \w\ \.]+@[ \ \w]+\ \.[\ \w \ \.]+");
			Matcher m = pegaJava.matcher(args[0]);
			if(m.matches())	System.out.println("valido");
			
			else System.out.println("invalido");
		}
		else System.out.println("O e-mail deve possuir entre 5 e 155 caracteres");			
	}
}

- o espaci entre uma barra envertida e outra eh por causa que o forum corta uma das barras(tirem os espacamentos entre as barras invertidas)

6 Respostas

T

No meu tempo de suporteiro da AT&T eu achava que o seguinte endereço de email era válido:

e![email removido]

Como você só aceita “w” (ou seja, “A-Za-z0-9_”) e “.” então este endereço vai ser rejeitado.

A história do ponto de exclamação é super-antiga: é tão antiga quanto o Unix. Ele era usado em endereços de email quando se usava um protocolo serial chamado UUCP. Você poderia ter um endereço assim, se não me engano:

root@maquina1!maquina2!maquina3!maquina4

onde todos esses pontos de exclamação indicavam qual o caminho que você precisava fazer até chegar à máquina 4, que é onde estava o usuário root. (Como não havia Internet você tinha de saber qual a melhor rota, partindo de uma máquina, para chegar à outra - provavelmente você tinha de telefonar para um monte de gente até conseguir determinar a tal rota.)

hmichel

Para validar email, vc pode utilizar as classes do Jakarta Commens da Apache, que já vem com este tipo de validação e outras mais.

H

thingol, nao deu pra te entende nao :frowning:

endereço de email era válido:

e![email removido]


[color=“darkred”]Na minha minha exprecao esse endereco continua sendo invalido[/color]

resumindo quais sao os caracteres validos, pra dominios Caracteres válidos são [A-Z;0-9] e o hífen.
e pro e-mail ?

cv1

“hrober”:
endereço de email era válido:

e![email removido]

Na minha minha exprecao esse endereco continua sendo invalido

E esse é um endereco de e-mail valido - a historinha toda foi pra explicar pq :wink:

H

para finalizar
caracteres validos em um e-mail:

letras e numeros
. _ ! # %

esses ?

T

A rigor, lendo-se o RFC 2822 (Internet Message Format), os caracteres válidos para o email, antes do “@”, são:

A-Z, a-z, 0-9, -, .

e os seguintes caracteres:

!#$%&’*±/=?^_`{|}~

mas obviamente isso pode dar um monte de problemas por aí. Fica a seu encargo saber se você aceita emails com “?” (que acho que ninguém usa porque pode dar problemas mil em vários lugares) ou não. Mas com certeza os emails com “_” são perfeitamente aceitáveis.

Criado 17 de setembro de 2004
Ultima resposta 20 de set. de 2004
Respostas 6
Participantes 4