Expression régulière

Eléphanteau du PHP | 24 Messages

17 sept. 2006, 12:18

Bonjour,

Je voudrais créer une expression régulière pour valider un champ.

Ce champ doit comprendre dix chiffres et commencer par 1 ou par 4.

Comme je ne ne veux pas être trop restrictif, je veux pouvoir autoriser la saisie d'espace ou de point pour séparer un ou plusieurs numéros n'importe où dans la chaîne, à défaut de saisir les dix chiffres attachés.

Au prix de nombreux efforts, je suis parvenu au résultat suivant avec
preg_match
:
#^(1|4)([-. ]?[0-9]{9})$#
L'expression fonctionne, mais n'autorise ni les espaces, ni les points.

Je ne comprends pas pourquoi, et vos conseils seraient les bienvenus.

Merci de votre aide.

@mitiés,

I.

Mammouth du PHP | 19672 Messages

17 sept. 2006, 12:24

Tu étais pas très loin :)
Essaye avec ça :

Code : Tout sélectionner

^(1|4)([-. ])?([0-9][-. ]?){9}$
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 24 Messages

17 sept. 2006, 14:25

Merci, Cyrano, pour ton aide. :D

Cordi@lement,

I.