11522 sujets

JavaScript, DOM et API Web HTML5

Bonjour

Un petit challenge pour les expressions régulières, miam Smiley langue .
Je dois contrôler un champ code postal, celui ci doit accepter les codes de France Métropolitaine (codes postaux corses inclus).

Les codes français sont de type XXYYY où XX est tout sauf 00 et YYY est tout. Les corses sont de types 2XYYY où X est "a" ou "b" et YYY est tout.

var codepostal = "^(2 Smiley ab |0[1-9]|[1-9][0-9]|)[0-9]{3}$";

EDIT : Les crochets n'apparaissent pas entre "ab", ils sont bien présents normalement

Mon besoin est de limiter les deux premiers caractères jusqu'à 95, toujours en incluant la Corse.

Voilà, merci d'avance pour votre aide Smiley biggrin

Bonne journée
Modifié par oblik35000 (27 Jan 2010 - 10:43)
oblik35000 a écrit :
Les codes français sont de type XXYYY où XX est tout sauf 00

Il existe des codes postaux commençant par 00 (ceux de l'armée). Smiley smile
oblik35000 a écrit :
Les corses sont de types 2XYYY où X est "a" ou "b" et YYY est tout.

Faux. Le code postal sur toute l'île de Beauté commence par 20. Smiley cligne

Essaie l'expression rationnelle suivante :
var code_postal = /^(([0-8][0-9])|(9[0-5]))[0-9]{3}$/;

Modifié par Victor BRITO (27 Jan 2010 - 13:14)
Super! Merci.

J'ai rajouté pour les codes postaux corses.

var codepostal = "^(([0-8][0-9])|(9[0-5])|(2[ab]))[0-9]{3}$";


Cela fonctionne bien, si cela peut aider certains.

Merci encore,

Bonne journée
oblik35000 a écrit :
J'ai rajouté pour les codes postaux corses.

As-tu lu la remarque que j'ai faite dans mon précédent message ? Smiley rolleyes Depuis quand un code postal français peut-il comporter des lettres ? Smiley confus