Expression régulière pour valider l’adresse email

(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))

L’extrait suivant est une fonction que j’utilise pour valider les adresses e-mail. Il s’agit d’une fonction très simple qui utilise une correspondance d’expressions régulières pour tester si un email à un d’un format correct.

Version JavaScript

Le format d’un email valide est le suivant email@domain.com. La fonction prend en paramètre l’adresse email et lance ensuite une comparaison avec l’expression régulière. S’il ne trouve aucune correspondance, il échoue la validation et la fonction renvoie false, si la correspondance renvoie true, c’est que l’email a un format correct.

La fonction Javascript pour valider le courriel :

/**
 * Valider la fonction email avec une expression régulière
 * 
 * Si l'email n'est pas valide, retournez false
 * 
 * @param email
 * @return Boolean
 */
function validateEmail(email){
    var emailReg = new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/i);
    return emailReg.test(email);
}

Comment utiliser la fonction Javascript

La meilleure façon de l’utiliser sera dans une déclaration IF comme ci-dessous.

if(validateEmail(email)){
     alert("Email  valide");
} else {
     alert("Email invalide");
}

Version PHP

En plus de vous assurer de valider les courriels du côté client, il est important de valider également sur le serveur. Voici un snippet PHP pour valider les adresses e-mail côté serveur.

/*
 * valider l'email
 * @param $email
 */
 function isValidEmail($email)
 {
    return preg_match('/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/i', $email);
}
Nouveau Tutoriel

Newsletter

Ne manquez jamais les nouveaux conseils, tutoriels et autres.

Pas de spam, jamais. Nous ne partagerons jamais votre adresse électronique et vous pouvez vous désabonner à tout moment.