Indexof validado emails

Olá
Estou tentando valida email nessa minha rotina ele não deveria deixar passar os seguintes email @gmail.com.br e @hotmail.com.br e @globo.com.br, porem nao estou conseguindo encontrar onde estou errando.
Alguem poderia me ajudar nisso?

String EmailConfirmado = “teste@hotamil.com.br”
String par = “@hotmail.com.br;@gmail.com.br,@globo.com.br”;
if (EmailConfirmado.indexOf(par) > 0)
{

      System.out.println("email Inválido ");

  }

Por que não funciona?

Porque a String “teste@hotamil.com.br”, não contém a
String “@hotmail.com.br;@gmail.com.br,@globo.com.br” e é isso que você está fazendo.

Sugestão monte uma lista com os e-mails inválidos, e faça um loop que verifica cada domínio @gmail.com depois @globo.com e por aí vai.

Entendeu?

Mas, na boa, por que você está tentando fazer uma coisa dessas?

Abraço. :wink:

Tenta assim:


	String EmailConfirmado = "teste@hotmail.com.br";
		String hot = "@hotmail.com";
		String gmail = "@gmail.com";
		String globo = "@globo.com";

		if (EmailConfirmado.indexOf(hot) > -1
				|| EmailConfirmado.indexOf(gmail) > -1
				|| EmailConfirmado.indexOf(globo) > -1) {

			System.out.println("email Inválido ");

		}else{
			System.out.println("LALAL");
		}

	}
String EmailConfirmado = "teste@hotamil.com.br" 
String par = "@hotmail.com.br;@gmail.com.br,@globo.com.br"; 
String mailInvalido[] = par.split(";");
for(int i = 0; int < mailInvalido.lenght; i ++){
    if (EmailConfirmado.indexOf(mailInvalido[i]) > 0) 
         System.out.println("email Inválido "); 
}

Flw

Soh corrigindo o Graciano,

 String par = "@hotmail.com;@gmail.com;@globo.com"; 
 String mailInvalido[] = par.split(";");

[edit]Falei bosta…[/edit]

Tá certo Fabio. Falta de atenção minha.

Mas a correção dele está correta.

A única coisa é que você não precisa criar uma string com ‘;’ ou ‘|’ dentro do seu código para depois, por uma expressão regular, transformar isto em um array. Você utiliza este método quando está lendo de um arquivo texto, ou quando recebe a String com algum separador. Mas quando você mesmo está criando um código, popule direto um array.

String[] invalidMails = new String[]{"@hotmail.com.br", "@gmail.com.br", "@globo.com.br"};

Outra coisa nome de variável geralmente começa em minuscula.

E para melhor funcionamento o indexOf deve ser diferente de -1 e não maior do que zero.

[]'s Roberto Marin