Fonction de verrification de données multiples regex

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 455 fois - Téléchargée 15 fois

Contenu du snippet

cette fonction vous evitera d'ecrire de multiples regex pour verifier la validitée des donées. elle en comporte deja quelques une et vous pourrez en ajouter facilement selon vos besoins.

je la ferai evoluer au fil du temps.

n'hesitez pas a me proposer des ameliorations ou des regex supplementaires

Source / Exemple :

<?php

function Verifier($type, $valeur ) 
{ 
   switch ($type) 
  { 
case 'mail': 
$Syntaxe='/^[-+.w]{1,64}@[-.w]{1,64}.[-.w]{2,6}$/i'; 
break;
case 'cp': 
$Syntaxe="#^[0-9]{5}$#";
break;
case 'tel': 
$Syntaxe="#^0[0-9]{9}$#";
break;
case 'date': 
$Syntaxe="#^[0-9]{2}/[0-9]{2}/[0-9]{4}$#"; 
break;
case 'md5': 
$Syntaxe='#[0-9a-f]{32}#i';
break;
case 'jeton': 
$Syntaxe="#^[0-9]{8}$#";
break;
case 'login': 
$Syntaxe="#^[a-zA-Z0-9]{4,20}$#";
break;
case 'ville': 
$Syntaxe="^:alpha:([-' ]?:alpha:)*$";
break;

  }

   if(preg_match($Syntaxe,$valeur))  
      return true;  
   else  
     return false;  
}
?>

A voir également

Ajouter un commentaire

Commentaires

Messages postés
12
Date d'inscription
vendredi 8 août 2008
Statut
Membre
Dernière intervention
16 mai 2017

le but est d'imposer un certain format, pas de laisser l'utilisateur faire ce qu'il veux, sinon il faudrait reformater le numero de telephone avec une fonction.
Messages postés
102
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
23 juillet 2013

tu pourrais améliorer le regex pour le numéro de téléphone avec ceci

case 'tel':
$Syntaxe = "#^0[0-9]([ .-]?[0-9]{2}){4}$#";

(syntaxes acceptées : 0123456789, 01 23 45 67 89, 01.23.45.67.89, 01-23-45-67-89)
Messages postés
102
Date d'inscription
mercredi 14 novembre 2007
Statut
Membre
Dernière intervention
23 juillet 2013

Belle fonction qui va aider à alléger le code.
Il serait intéressant cependant de mettre un commentaire à chaque regex pour connaitre la façon de les valider (retourner true) ; surtout pour les débutants (login entre 4 et 20 caractères, date séparée par des /, numéro de téléphone collé, ...)

Merci pour ce code.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.