Verificateur de validite d'email

Contenu du snippet

cette fonction necessite une chaine de caracteres en parametre, elle retourne un boolean...
- true : si l'adresse parait bonne
- false : si l'adresse parait fausse
Elle verifie la validité sur 13 points :
- minimum 8 caractéres ( Ex: xx@xx.xx )
- presence d'un arobase ( Ex: xxxx.xx )
- presence d'un point ( Ex: xx@xxxx )
- absence de point derriere l'arobase ( Ex: xx@.xx.xx )
- absence de point devant l'arobase ( Ex: xx.@xx.xx )
- absence de point au debut ( Ex: .xx@xx.xx )
- absence de point a la fin ( Ex: xx@xx.xx. )
- absence d'arobase au debut ( Ex: @xxxx.xx )
- absence de point a la fin ( Ex: xxxx.xx@ )
- presence d'un point un peu apres l'arobase ( Ex: xx@xx.xx )
- absence de plusieur arobase ( Ex: xx@@xx.xx )
- absence de 2 points d'affilé ( Ex: x..x@xx.xx )
- absence de caractéres interdis ( Ex: [-)}'"|\..... )

Voila... j'ai pu faire un maximum de test et ca me parait tres bien verifier les adresse...
ca peu service, c'est certain .. :p
( ps : si vous trouvé un bug, une omition, n'hesite pas a me prevenir ;) )

Source / Exemple :


public boolean testEmail(String email)
    {
    	email=email.toLowerCase();
    	String charOk="abcdefghijklmnopqrstuvwxyz0123456789_@.";
    	boolean test=false;
    	if (email.length()<8){return false;}// Si l'email fait moins de 8 caractéres
    	if (email.indexOf('@')<0){return false;}// Si l'email ne contient pas d'@'
    	if (email.indexOf('.')<0){return false;}// Si l'email ne contient pas de '.'
    	if (((email.indexOf('.', (((email.indexOf('@'))+1)))))==(email.indexOf('@')+1)){return false;}// Si l'email as un '.' apres l'@
    	if (((email.indexOf('.', (((email.indexOf('@'))-1)))))==(email.indexOf('@')-1)){return false;}// Si l'email as un '.' avant l'@
    	if ((email.indexOf('.'))==0){return false;}// Si l'email as un '.' au debut
    	if ((email.charAt((email.length()-1))=='.')){return false;}// Si l'email a un '.' a la fin
    	if ((email.indexOf('@'))==0){return false;}// Si l'email as un '@' au debut
    	if ((email.charAt((email.length()-1))=='@')){return false;}// Si l'email a un '@' a la fin
    	// Si l'email n'a pas de '.' un peu apres le '@'
    	boolean tmp=false;
    	for (int i=1;i<(email.length()-(email.indexOf('@')));i++)
    	{
    		if (email.charAt((email.indexOf('@'))+i)=='.')
    		{
    			tmp=true;
    			i=(email.length());
    		}
    	}
    	if (tmp==false){return false;}
    	// Si l'email a plusieurs '@'
    	for (int i=0;i<email.length();i++)
    	{
    		if (email.charAt(i)=='@')
    		{
    			for (int j=i+1;j<email.length();j++)
    			{if (email.charAt(j)=='@'){return false;}}
    		}		
    	}
    	// Si l'email a 2 '.' d'affilé
    	for (int i=0;i<(email.length()-1);i++)
    	{if ((email.charAt(i)=='.') && (email.charAt(i+1)=='.')){return false;}}
    	// Si l'email contient un caractére interdis
    	for (int i=0;i<email.length();i++)
    	{
    		for (int j=0;j<charOk.length();j++)
    		{
    			if ((email.charAt(i))==(charOk.charAt(j)))
    			{
    				test=true;
    				j=(charOk.length());
    			}
    			else {test=false;}
    		}
    		if (test==false){return test;}
    	}
    	return test;    			
    }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (skro90)