Dicton du 15 Novembre:
En novembre fou engendre, en août gît sa femme.

Télécharger
Noter:

Vérifier une adresse mail en PHP

Description

Ce script simple, utilisant l'expression régulière permet de vérifier si une adresse mail est correcte, souvent utilisé lors de l'envoi d'un formulaire.

Explications:


intéressons-nous au preg_match (regex - regular expressions)

Code source (PHP)

preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+.[a-zA-Z]{2,15}$#",$chaine);

le ^ du début permet de vérifier que la chaine commence par ce qu'on demande ensuite, soit: [a-zA-Z0-9._-], ce qui veut dire que le début de l'adresse mail peut commencer par des lettre minuscules et/ou majuscules avec des chiffres avec un point, un underscore et/ou un tiret.

Ensuite on vérifie si il y a le fameux arobase @

on revérifie si la continuité du mail contient là encore des chiffres, des lettres, un tiret, un point et/ou un underscore (avec [a-zA-Z0-9._-]), vous remarquerez la présence d'un signe + (plus) après notre classe [a-zA-Z0-9._-], cela signifie qu'il faut au moins 1 caractère ou plusieurs, par exemple: a@a.aa fonctionnera.

Ensuite, nous avons un anti-slash suivi d'un point: ., cela signifie que nous voulons un point (.)

Et pour finir, la dernière classe [a-zA-Z] suivie de {2,15} qui permet de vérifier la présence d'une chaine de lettre minuscule et/ou majuscule d'un longueur minimum de 2 à maximum 15 caractère (Cette partie sera l'extension du nom de domaine de l'adresse mail, par exemple: fr, com, net, etc...)

à ne pas oublier le signe dollar ($) qui dit "la chaine doit se terminer ainsi" et ne rien avoir d'autre après.

Code source (PHP)

<?php
$chaine = "votre@email.com";
if(preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+.[a-zA-Z]{2,15}$#",$chaine)) {
echo "Le mail est correct !";
} else {
echo "Le mail est incorrect !";
}
?>


On peut également en faire une fonction:

Code source (PHP)

<?php
function verifmail($mail){
if(preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+.[a-zA-Z]{2,15}$#",$mail)) {
return "oui";
} else {
return "non";
}
}
if(verifmail("votre@email.tld")=="oui") {
echo "Le mail est correct !";
} else {
echo "Le mail est incorrect !";
}
?>

Commentaires

Merci pour ton script

Ajouter un commentaire

Pseudo/Nom *
Email *
Message *
La balise [code]Votre code...[/code] peut être utilisée


ATTENTION! Ce formulaire est exclusivement réservé aux commentaires
Pour toutes demandes d'aide, veuillez ajouter votre demande sur le forum svp

Captcha * × neuf = 9

Les champs marqués d'un * sont obligatoires.

Retour à la liste des scripts

Flag Counter