ereg et autre preg_match

ereg et autre preg_match - PHP - Programmation

Marsh Posté le 27-03-2007 à 14:13:40    

Bonjour !
J'ai un petit probleme avec les expresisons regulieres. Je developpe un site ou un certain type d'utilisateur aura un login commencant par une lettre et suivie par plusieurs nombres (ex: D01234567, R09856...). J'ai beaucoup de mal a comprendre la syntaxe de ces expressions, est ce que quelqu'un pourrais me donner un coup de main ?
 
Merci !

Reply

Marsh Posté le 27-03-2007 à 14:13:40   

Reply

Marsh Posté le 27-03-2007 à 14:15:18    

je ne suis pas doué en expression reguliere, mais que souhaite tu exactement ? donne un exemple car la personne peux t'aider, si tu pose pas une question précise :)

Reply

Marsh Posté le 27-03-2007 à 14:22:28    

En fait je fait une fonction qui permettera de verifier que le login donné par un utilisateur est bien valide. Le probleme est que plusieurs types d'utilisateurs sont possibles sur ce site, ils sont differenciables par leur login. Certains ont un login avec des lettres uniquement et d'autres ont un login du type D01234567 ou R09856, c'est a dire une lettre suivie de chiffres (obligatoirement une lettre mais le nombre des chiffres est variable). Pour rediriger l'utilisateur vers sa page je dois determiner de quel type il est, j'ai commence avec les expressions regulieres et preg_match pour differencier les utilisateurs mais je dois surement mal my prendre. Voila ce que j'ai:  
 
if(preg_match('/^((A-Z){1})./',$login)){
print"utilisateur du type D0123456";
}
 
 J'espere que mon probleme est plus comprehensible.
 
Merci

Reply

Marsh Posté le 27-03-2007 à 14:28:22    

tu peux déja t'aider en visualisant le résultat de preg_match, pour verifier que ton expression reguliere renvoie bien ce que tu veux, par exemple comme ceci :
 

Code :
  1. preg_match('/^((A-Z){1})./',$login), $matches);
  2. echo "<hr/><pre>";
  3. print_r($matches);
  4. echo "</pre>";

Reply

Marsh Posté le 27-03-2007 à 14:31:10    

Code :
  1. if(preg_match(/^[A-Z]\d+/){
  2. ...
  3. }
 

edit: tu peux même rajouter un $ après le plus pour t'assurer qu'il n'y a bien que des chiffres jusqu'au bout
/^[A-Z]\d+$/


Message édité par anapajari le 27-03-2007 à 14:32:00
Reply

Marsh Posté le 27-03-2007 à 14:39:52    

Merci d'avoir repondu aussi rapidement ! Ta solution marche parfaitement anapajari !
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed