Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2012, 21h37   #1
Membre du Club
 
Inscription : janvier 2010
Messages : 210
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : janvier 2010
Messages : 210
Points : 53
Points : 53
Par défaut RegExp autorisant l'espace

Bonjour,

Avec cette RegExp, j'autorise certains caractères dans un champ input :
Code :
1
2
 
var caracteres = new RegExp("[0-9a-zA-Z\s-àâäãçéèêëìîïòôöõùûüñ'-]");
Cela fonctionne pour tous les caractères sauf pour l'espace. Voyez-vous ce qui cloche ? (la coloration syntaxique suggère un problème au niveau du \s). Merci.
almoha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 21h42   #2
Membre expérimenté
 
Inscription : juillet 2007
Messages : 691
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 691
Points : 502
Points : 502
Je pense qu'il faut échapper le backslash :
Code :
1
2
 
var caracteres = new RegExp("[0-9a-zA-Z\\s-àâäãçéèêëìîïòôöõùûüñ'-]");
verbose est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 11/01/2012, 21h51   #3
Membre du Club
 
Inscription : janvier 2010
Messages : 210
Détails du profil
Informations personnelles :
Âge : 37

Informations forums :
Inscription : janvier 2010
Messages : 210
Points : 53
Points : 53
Merci beaucoup, il fallait effectivement échapper le backslash. Merci
almoha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 08h13   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Citation:
Envoyé par verbose
Je pense qu'il faut échapper le backslash
Tout à fait, ceci dit, le mieux est d'utiliser une forme littérale au lieu du constructeur :
Code :
var caracteres = /[0-9a-zA-Z\s-àâäãçéèêëìîïòôöõùûüñ'-]/;
A noter aussi que \s ne représente pas uniquement un espace mais tout caractère d'espacement (par exemple une tabulation).
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/01/2012, 08h59   #5
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 202
Points : 45 202
le plus simple est encore de mettre un espace dans la classe ...
Code :
1
2
3
4
 
var caracteres = new RegExp("[0-9a-zA-Z -àâäãçéèêëìîïòôöõùûüñ'-]");
//ou
var caracteres = /[0-9a-zA-Z -àâäãçéèêëìîïòôöõùûüñ'-]/;
à noter que l'on est sur un range entre espace et à
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h05.


 
 
 
 
Partenaires

Hébergement Web