Page 1 sur 1

probleme avec preg_match

Posté : 29 nov. 2010, 22:37
par hakazizi
Bonjour,
le problème c'est que quelque soit la valeur de $_POST['colis'] cela me renvoie que c'est une valeur correct.
je voudrais que la valeurs de $_POST['colis'] commance par 8N suivi de 11 caractères numerique de 0 à 9 et rien d'autre après.
après test.
j'ai entré 8N puis quelque chiffres et des lettre et des chiffres et le regex à concidérer que cela était exact. de meme pour la valeur attendu.
merci de m'expliqué ou je me suis trompé dans mon regex.
c'etait plus simple avec ereg(); :(
if(preg_match("/^8N([0-9]{11})$/",$_POST['colis']))
{
$colis=$_POST['colis'];
}
else
{
echo'erreur dans le numero de colissimo';
exit();
}

Re: probleme avec preg_match

Posté : 30 nov. 2010, 01:25
par devlop78
T'as essayé /^(8N[0-9]{11})$/ ou quelque chose de ce genre ?

Re: probleme avec preg_match

Posté : 30 nov. 2010, 10:36
par hakazizi
Ta méthode fonctionne, mais je ne comprend pas c'est quoi la différence entre :
"/^8N([0-9]{11})$/" et "/^(8N[0-9]{11})$/".
Pour moi c'est la même chose mais seul ta méthode fonctionne ?

Re: probleme avec preg_match

Posté : 30 nov. 2010, 11:30
par Ryle
Il n'y a à priori pas de différence en dehors de la chaine capturée... et si je teste ton masque, il fonctionne tout aussi bien...
Tu dois même pouvoir te passer des parenthèses si tu vérifies juste le format et ne traites pas la chaine capturée (ou alors il nous manque une partie du code)

Re: probleme avec preg_match

Posté : 30 nov. 2010, 12:42
par devlop78
Oui là pas de chaine capturée, mais je suis plutot très nul en expressions régulières ... pas bien ^^

Re: probleme avec preg_match

Posté : 30 nov. 2010, 12:46
par stealth35
Oui là pas de chaine capturée, mais je suis plutot très nul en expressions régulières ... pas bien ^^
j'utilise ca pour met regex : http://gskinner.com/RegExr/ (même si il est moins poussé que les regex PHP)

Re: probleme avec preg_match

Posté : 30 nov. 2010, 12:56
par devlop78
Cool !! En plus c'est une RIA en Flex ;)

Re: probleme avec preg_match

Posté : 30 nov. 2010, 13:01
par devlop78
Nickel, test en temps réel j'ai pu sortir /[a-z\-\._]{1,100}@[a-z\-\._]{1,100}/gim pour tester une adresse e-mail (là comme ça vite fait). Merci :D

Re: probleme avec preg_match

Posté : 30 nov. 2010, 13:15
par devlop78
Hihihi

SELECT * FROM `residences` WHERE `adresse` REGEXP '[a-z]{1,}@[a-z]{1,}\\.[a-z]{1,5}'

Nikel :p je vais pouvoir faire une contrainte check sur un champ mail avec une expression de ce type - puis créer un domaine "email" - c'est beau le SGBDR !

Re: probleme avec preg_match

Posté : 30 nov. 2010, 18:00
par hakazizi
merci à tous pour votre aide.

Re: probleme avec preg_match

Posté : 30 nov. 2010, 18:10
par moogli
Hihihi

SELECT * FROM `residences` WHERE `adresse` REGEXP '[a-z]{1,}@[a-z]{1,}\\.[a-z]{1,5}'

Nikel :p je vais pouvoir faire une contrainte check sur un champ mail avec une expression de ce type - puis créer un domaine "email" - c'est beau le SGBDR !
oublie pas les minuscules majuscule et caractère spéciaux :) => un exemple sur expreg.com

@+

Re: probleme avec preg_match

Posté : 30 nov. 2010, 20:09
par devlop78
Ouai mais c'était un essai rapide. PostegreSQL me sauve la vie. J'ai pu créer un domaine email NOT NULL CHECK( ...)

qui me permettra (bien que ce ne soit que des essais :p) de rajouter des champs "email" à volonté sans redéfinir la contrainte à chaque fois. Mais c'était un petit saut d'humeur car on n'est pas vraiment dans le bon forum :D Sinon je peux aussi vous raconter comment j'ai rajouter un trigger et mes doutes sur le rollback (tiens faut que je vois la réaction de php face à un rollback d'une procédure stockée) et tout :p