Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
747 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] ereg et pattern

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] ereg et pattern

n°679061
goldorak69
Posté le 20-03-2004 à 23:52:13  profilanswer
 

Salut tout le monde, je viens de chercher la syntaxe du pattern pour ereg() pour vérifier un email entré, j'ai trouvé çà:
 

Code :
  1. if (ereg("^([A-Za-z0-9_\.]*)@([A-Za-z_]*)\.([A-Za-z_\.]*)$", $string)) {
  2.    print "valid";
  3. } else {
  4.    print "invalid";
  5. }


 
mais je ne comprend pas le '^', le '$', les '*' et le '\' dans le premier argument...
 
A quoi ils servent?

mood
Publicité
Posté le 20-03-2004 à 23:52:13  profilanswer
 

n°679066
simogeo
j'ai jamais tué de chats, ...
Posté le 21-03-2004 à 00:00:16  profilanswer
 

'^' : indique le début de la chaine  
 
'$' : indique la fin de la chaîne a matcher
 
'*'  : zéro occurence ou +
'\' : caractère déchappement car le . est résérvé  (caractère unique )

n°679077
goldorak69
Posté le 21-03-2004 à 00:14:13  profilanswer
 

ok merci beaucoup!!

n°679087
joce
Architecte / Développeur principal
"BugHunter"
Posté le 21-03-2004 à 01:28:16  profilanswer
 

preg c'est quand même mieux :o

n°1950866
fred0755
Posté le 16-12-2009 à 12:56:59  profilanswer
 

Certes le sujet est vieux, mais je te conseilles de remplacer ton pattern par:
 
^([A-Za-z0-9_\.-]*)@([A-Za-z_-]*)\.([A-Za-z_\.]*)$
 
En effet, il affichait un adresse du genre mon-nom@mon-domaine.com comme invalide, ce qui est faux.
 
 
Bonnes fêtes à tous.


Message édité par fred0755 le 16-12-2009 à 12:58:20
n°1950880
stealth35
Posté le 16-12-2009 à 13:38:05  profilanswer
 

si tu a php >= 5.2

 

le mieux c'est filter_var (pas besion de s'embête):

 

filter_var($email, FILTER_VALIDATE_EMAIL);

 

sinon suivant le code soucre de FILTER_VALIDATE_EMAIL
le regex est

 
Code :
  1. /^((\\\"[^\\\"\\f\\n\\r\\t\\b]+\\\" )|([A-Za-z0-9_][A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\=\\?\\^\\`\\|\\{\\}]*(\\.[A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\=\\?\\^\\`\\|\\{\\}]*)*))@((\\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9])(([A-Za-z0-9\\-])*([A-Za-z0-9]))?(\\.(?=[A-Za-z0-9\\-]))?)+[A-Za-z]+))$/D


Message édité par stealth35 le 16-12-2009 à 13:38:19
n°1951000
Profil sup​primé
Posté le 16-12-2009 à 18:48:45  answer
 

La solution la plus efficace (mais pas forcément la meilleure) est la validation par email (envoie d'un email avec lien d'activation et attente de l'activation pour valider l'adresse).
Si cette solution est trop contraignante, on peut toujours utiliser la fonction checkdnsrr.
Elle permet de vérifier le nom de domaine de l'adresse email. Mais elle n'assure pas que l'adresse existe vraiment.
Par exemple :  
truc@bidulechose.fr ne sera pas validé (car le nom de domaine bidulechose.fr n'est pas enregistré).
jean.martin@gmail.com sera validé (car le nom de domaine existe)
x546efzsfgz@gmail.com sera validé (car le nom de domaine existe, mais s'il y a peu de chance que le compte existe).
 
EDIT : j'oubliais, cette fonction ne fonctionne pas sous windows.

Message cité 1 fois
Message édité par Profil supprimé le 16-12-2009 à 18:53:12
n°1951035
stealth35
Posté le 17-12-2009 à 00:07:29  profilanswer
 

+1 c'est le top ca

n°1951102
FlorentG
Unité de Masse
Posté le 17-12-2009 à 10:10:51  profilanswer
 


Faut lire la doc jusqu'au bout :o

Citation :

Version   Description
5.3.0  This function is now available on Windows platforms.

n°1951313
Profil sup​primé
Posté le 17-12-2009 à 19:18:21  answer
 

[:arn0] bien vu


Message édité par Profil supprimé le 17-12-2009 à 19:18:28

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] ereg et pattern

 

Sujets relatifs
[php] qq question sur php (voir fin topic)[PHP] Remplacer dans un texte des smileys par des tags <img ... /> ?
[PHP] tri de tableaux imbriquésCONNEXION PHP - ORACLE (base de données n'est pas sur serveur apache)
Portail en PHP ou autrePhp + html sur image !
Geolocalisation en PHP[ PHP ] Système de "vu" / "non vu" sans enregistrement de membre
[PHP] pb requete 
Plus de sujets relatifs à : [PHP] ereg et pattern


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR