Ir ao conteúdo
  • Cadastre-se

Validando email


Posts recomendados

Boa Noite!

Estou com mais uma duvida em mais um exercicio de livro do Rui Rossi.

Tenho que informa o emial e realizar os seguite testes.

  • Não pode ter espaços
  • deve ter um, e somente um, símbolo de @
  • deve haver ao menos 2 caracteres antes de depois do sinal arroba

segue o meu codigo:

import javax.swing.JOptionPane;
public class Exercicio0702
{
 public static void main(String[] args)
 {
    String st = "Informe seu e-mail:";
    st = JOptionPane.showInputDialog(null,st);
    
    if (st.trim().length() == 0)
    {
        st = "Email invalido";
        JOptionPane.showMessageDialog(null,st,"Erro",0);
        System.exit(0);
    }
    
    
    if(st.indexOf("@") != 0 || st.indexOf("@") > 1)
    {
        st = "O e-mail deve conter pelo menos um sinal de @";
        JOptionPane.showMessageDialog(null,st,"Erro",0);
        System.exit(0);
    }
    
    
    
    if(st.substring(0,st.trim().indexOf(" ")).length() < 2 || st.substring(st.trim
().lastIndexOf(" ") + 1).length() < 2)
    {
        st = "O e-mail deve conter pelo menos 2 caracteres antes e depois do sinal de @";
        JOptionPane.showMessageDialog(null,st,"Erro",0);
        System.exit(0);
    }
    
    st = "Email valido: " + st;
    JOptionPane.showMessageDialog(null,st,"mensagem",1);
    System.exit(0);
 }
}

 

O programa roda ate no segundo if e para.

e bem parecido com o outro porém ja tem uns 2 dias que estou quebrando a cabeça com isso e cansado de procurar na internet algo sobre.

 

muito obrigado.

Link para o comentário
Compartilhar em outros sites

Amigo, concorda comigo que 1 é diferente de 0, certo?

O seu código faz com que a pessoa entre nesse if mesmo se o @ estiver correto.

 

Tente trocar:

if(st.indexOf("@") != 0 || st.indexOf("@") > 1)

por: 

if(st.indexOf("@") != 1)

Assim ele vai aceitar que se tiver menos que 1 @ está errado e também se tiver mais de 1.

Não sei se isso te ajuda muito mas vejo que nessa parte do código você deve mudar.

 

Espero ter ajudado.

 

Link para o comentário
Compartilhar em outros sites

Senhores, Boa noite!!

me desculpem a demora, mas tive alguns problemas com a minha internet e não tive tempo de responder assim q ela voltou ao normal.

Bom, fiz o teste indicado pelo amigo renenskstp, mas não obtive muitos resultado, no entando, muito obrigado pela ajuda..

E o site indicado por dif e de grande ajuda, porém, como estou seguindo a livro do Rui Rosse e ate então as ferramentas que possuo são somente estruturas de if e case, e o que foi passado ate agora no livro. Portanto só posso utilza-las...

 

Mas agradeço muito a ajuda e se tiverem mais alguma ideia. =)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!