Hello , Aujourd'hui je poste par que j'en ai marre mais alors vraiment marre des expressions régulières --"
C'est un truck je sais pas j'y arrive pas je bloque toujours , je me souviens jamais des format etc etc...

Voila ce que j'aimerais tester : XXXX-XXXX-XXXX (X étant un chiffre de 0 a 9)

Mon code actuelle

var patternREG = '\b\d{4,4}\-\d{4,4}\-\d{4,4}\b';
             $("#idDeInput").change(function(){
                var w = $(this).val();
                console.log(w.match('\b\d{4,4}\-\d{4,4}\-\d{4,4}\b'));

             });

Quand je test mon expression sur des sites comme
Texte du lien

il me dit que cela fonctionne très bien mais sur ma function ma console indique toujours null ?
Je doit avoir une faute de syntaxe ou autre mais j'avoue être à bout de nerd après 3H dessus ça avancer d'un poil --"

Merci a mon futur sauveur heros de l'internet

5 réponses


Vallyan
Réponse acceptée

Ca devrait marcher:

patternREG = /\b\d{4}-\d{4}-\d{4}\b/

Pour les explications:

  • une regex n'est pas une string, en JS. Il n'y a pas de quotes autour, par coutre il faut mettre /
  • le tiret n'a pas besoin d’être échappé en dehors des trucs du genre [0-9]
  • {4,4} défini un intervale entre 4 et 4, il est donc égal a {4}
Polaris
Auteur

au final mon seule problème c'était les quotes --" . Merci pour ton aide j'aurais put rester dessus 100 ans sans rien voir .

Hello !

Deux petit utilitaires bien sympa pour tester tes regex (avec les deux présentant le même test pour te faire une opinion des deux) :
Rubular
Switch plane

Polaris
Auteur

Merci Pewel je garde ça dans mes favoris d'outils :D