Javascript: Problème avec regEx \d
frank6
Messages postés
6
Statut
Membre
-
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
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é
- Javascript arrondi - Forum Javascript
- Afficher un tableau javascript en html ✓ - Forum Javascript
- Javascript arrondi après la virgule ✓ - Forum Windows
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