Bienvenue sur le site des Expressions Régulières Icone page d'accueil - Les expressions régulières php Accueil   Icone articles sur les expressions régulières en php Articles d'Expreg - Billets de Fred   Icone nos regex - Les expressions régulières php Les regex d'Expreg Icone mail - Les expressions régulières php



 1) Test sur une email  
les regex php d'expreg.com
posté par Yves Maistriaux (ID : 1)

Permet de vérifier la validité des adresses email entrées par les utilisateurs.
Accepte les caractères point (.), le tiret (-) et l'underscore (_) sauf :
- en débutant.
- ils ne peuvent se suivre.
- l'underscore n'est pas accepté dans les noms de domaines

Utilise les fonctions ereg et les classes prédéfinies POSIX
et preg_match avec les classes PCRE.

Vous pouvez modifier la dernière valeur de l'intervalle de reconnaissance {2,4} pour le nom de domaine ayant plus de 4 caractères, comme museum par exemple ce qui donnera : {2,6}

J'ai volontairement écarté de cette analyse les adresses email farfelues telles que celles que l'on peut trouver chez caramail et compagnie.
Exemple :
mon-_.email.-_amoi@caramail.com
ou
monemail______@hotmail.com
Si vous souhaitez quand même accepter ce genre d'email, rien ne vous empêche d'apporter une modification à la regex, voir même en utiliser une autre plus permisive.

Je vous conseille vivement l'emploi de la regex avec
preg_match qui est bien plus rapide que ereg.


<?php

$chaine
="info@e-ur-ope.a.n-cards.com";
//--- bon j'avoue que l'email est assez particulière mais
elle m'a permis de réaliser un masque qui est valable pour
toutes les email.

//--- avec ereg et les classes POSIX

if(!ereg("^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-.]?[[:alnum:]])*\.([a-z]{2,4})$",$chaine))
{
echo "pas bon";
}
else
{
echo "bon";
}

//--- la même avec preg_match et les classes PCRE

if(!preg_match('
`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-.]?[[:alnum:]])*\.([a-z]{2,4})$`',$chaine))
{
echo "pas bon";
}
else
{
echo "bon";
}

?>



 2) Email cliquable  
les regex php d'expreg.com
posté par Yves Maistriaux (ID : 15)

Regex permettant de rendre des adresses emails cliquables dans une chaine texte.

<?php

//--- un texte au hasard ---// 
$text='on adresse email est info@europeancards.com et celle de mon pote est truc@unsite.xxx... voili, voilou !'  

//--- La regex ---// 
$text=eregi_replace('[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z]+)+)''<a href="mailto:$1">$1</a>',$text);  
echo 
$text;  

//--- Sous forme de fonction ---// 
function clickmail($text)  
{  
$text=eregi_replace('([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z]+)+)','<a href="mailto:$1'>$1</a>',$text);  
}  
echo @clickmail($text);  

?>




European Cards - Hosting-Ec Validation W3C European Cards - Hosting-Ec Validation W3C © 2003 - 2008 www.expreg.com - Toutes reproductions interdites sans l'autorisation écrite des auteurs
:::::::::: Design an Hosting by : European Cards Sprl ::::::::::