(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}[.][a-zA-Z]{2,4}$",$POST["email"]))(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}[.][a-zA-Z]{2,4}$",$POST["email"]))
(!preg_match("/^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}[.][a-zA-Z]{2,4}$/", $POST["email"]))
Et du coup, tu peux même ajouter des options et alléger ton masque, par exemple en ignorant la casse :
(!preg_match("/^[a-z0-9._-]+@[a-z0-9._-]{2,}[.][a-z]{2,4}$/i", $POST["email"]))
if(filter_var($email, FILTER_VALIDATE_EMAIL))J'y avais pensé à cela mais cette méthode ne valide pas forcement qu'un mail, admin@localhost est validé par exemple.En même temps si c'est juste pour valider un mail tu peux utiliser filter_varif(filter_var($email, FILTER_VALIDATE_EMAIL))
Sans doute parce que c'est une syntaxe valide...J'y avais pensé à cela mais cette méthode ne valide pas forcement qu'un mail, admin@localhost est validé par exemple.En même temps si c'est juste pour valider un mail tu peux utiliser filter_varif(filter_var($email, FILTER_VALIDATE_EMAIL))
c'est checkdnsrr (qui ne fonctionne sous window qu'à partir de php 5.3)Par contre j'avais testé un script qui validait au moins la présence mais surtout l’existence d'un nom de domaine, je rechercherais si qq'un le veux.
function Valid_mail ($mail)
{
$domaine = explode('@',$mail);
return (filter_var($mail, FILTER_VALIDATE_EMAIL) !== false && isset($domaine[1]) && checkdnsrr($domaine[1]) === true)? true : false;
}
$mail = "[email protected]";
if (Valid_mail($mail)) echo 'mail_valid'; else echo 'mail_non_valide'; Je veux dire que tu peux vérifier l’existence d'un nom de domaine, pour que [email protected] existe il faut que http://free.fr existe.
Et donc au total le maximum "raisonnable" que l'on puisse faire pour valider un mail est :
function Valid_mail ($mail) { $domaine = explode('@',$mail); return (filter_var($mail, FILTER_VALIDATE_EMAIL) !== false && isset($domaine[1]) && checkdnsrr($domaine[1]) === true)? true : false; } $mail = "[email protected]"; if (Valid_mail($mail)) echo 'mail_valid'; else echo 'mail_non_valide';
<?
$site = "http://free.fr/";
$file = @fopen($site, 'r');
if ($file) {
echo 'URL existe';
}
else {
echo 'URL n\'existe pas !';
}
?>