Javascript: Problème avec regEx \d

frank6 Messages postés 6 Statut Membre -  
frank6 Messages postés 6 Statut Membre -
Bonjour,

J'éprouve un problème comprhension.. pourquoi est-ce quand je test cette expression régulière :

pattern = "[0-9]{1}"
reg = new RegExp(pattern, "gi")
reg.test("1") // retourne TRUE

mais quand je fais de cette façon ça ne fonctionne pas..

pattern = "\d{1}"
reg = new RegExp(pattern, "gi")
reg.test("1") // retourne FALSE
Configuration: Windows Vista
Internet Explorer 7.0

2 réponses

  1. frank6 Messages postés 6 Statut Membre 1
     
    Merci je comprend maintenant!
    1
  2. toto
     
    Bonjour

    Quand tu écris
    pattern = "\d{1}" 
    en javascript, ta chaine ne contient pas de \. Elle contient d{1}
    En javascript, le caractère antislash sert à insérer certains caractères spéciaux dans les chaînes de caractères ( fin de ligne, codes hexadécimaux...). Pour réellement mettre un antislash dans ta chaîne, il faut le doubler :
    pattern = "\\d{1}" 
    Ceci est très bien expliqué dans tous les manuels de javascript, par exemple : http://developer.mozilla.org/fr/Guide_JavaScript_1.5/Constantes_litt%c3%a9rales
    0