Javascript: Problème avec regEx \d
frank6
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
frank6 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
frank6 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Javascript: Problème avec regEx \d
- Telecharger javascript - Télécharger - Langages
- A javascript error occurred in the main process - Forum Handicap / Accessibilté
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Erreur #125 javascript - Forum Mozilla Firefox
- Javascript arrondi - Forum Javascript
2 réponses
Bonjour
Quand tu écris
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 :
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