Galera é o seguinte,
faz alguns dias q eu fiz este código e tive a curiosidade de transformar ele em um applet, mas eu num sei nem pra onde vai :oops:
import java.io.;
public class ValidaEmail {
boolean VerificaEmail (String email){
boolean teste = true;
int arroba=0;
String estranhos = “”’|\!#$£%碨¬&()-=+§`´{[ª^~}]º:;<,:;?/° ";
//char cdilha = ‘ç’;
if (!Character.isLetter(email.charAt(0))) { //verifica se inicia com alguma coisa diferente de letra, se iniciar da erro
teste=false; // o ! no inicio do if é negação.
}
else
for(int i=0;i<email.length();i++){
if(email.charAt(i)==’@’)
arroba++;
}
if (arroba==0||arroba > 1) //verifica se tem arroba e se tem mais de 1 arroba
teste=false;
else
for(int i=0;i<email.length();i++){
for(int j=0;j<estranhos.length();j++){
if(email.charAt(i)== j )
teste=false;
}
/*for(int j=0;j<cdilha;j++){//verifica ç... não sei pq não funfou
if(email.charAt(i)==j)
teste=false;
}*/
}
for (int i=0; i<email.length()-1; i++){
if ((email.charAt(i)=='.')&&(email.charAt(i+1)=='@')){ //verifica se tem . antes do arroba
teste = false;
}
else {
if ((email.charAt(i)=='@')&&(email.charAt(i+1)=='.')){//verifica se tem . depois do arroba
teste = false;
}
}
if(email.indexOf(" ")!=-1){ // verifica se tem espaço
teste=false;
}
if((email.charAt(i)=='.')&&(email.charAt(i+1)=='.')){
teste=false;
}
}
return teste;
}
boolean quantidadePontos(String email){
int ponto=0;
int posarroba=0;
boolean identifica=true;
if(VerificaEmail(email)==true){
for(int i=0;i<email.length();i++){
if(email.charAt(i)=='@'){//define o @ como posição
posarroba=i;
for (int j=posarroba; j<email.length();j++){// verifica quantedades de ponto dpois do @
if(email.charAt(j)=='.'){
ponto++;
}
}
}
}
}
if(ponto==0)//se não tiver nenhum ponto é invalido
identifica=false;
if(ponto>2)// se tiver mais de 2 pontos é invalido
identifica=false;
return identifica;
}
boolean verificaPontoFinal(String email){
boolean verifica= true;
if((VerificaEmail(email)==true)&& (quantidadePontos(email)==true)){
if(email.charAt(email.length()-1)=='.')
verifica = false;
}
else
verifica=false;
return verifica;
}
public static void main(String[] args) {
BufferedReader entrada;
String Email;
String op="s";
entrada = new BufferedReader(new InputStreamReader(System.in));
ValidaEmail ve = new ValidaEmail();
try{
do{
/*PROFESSOR PRECISO DE 2,5 PRA PASSAR DIRETO,
*
SEI QUE TEM ALGUNS BUGS MAS... ALIVIA AI :D*/
/*O bug mais grotesco que tem é que nao consegui invalidar
* se existe no mínimo um ponto depois do @
* ex: teste@ <--- assim estaVA validando
* mas com o resto pode mandar :D
*
*/
System.out.print("\nE-mail: ");
Email = entrada.readLine();
ve.quantidadePontos(Email);
if(ve.verificaPontoFinal(Email)==true)
System.out.println("Email válido");
else
System.err.println("Email inválido");
}while(op=="s");
}catch(Exception e){
System.err.println("Pau Geral");
}
}
}
ta aí o codigo… me ajudem por-favor,
Desde já agradeço
João Pedro