Ce blog a déménagé et parle maintenant uniquement anglais.

This blog has moved and now only speaks English.

blog.floriancargoet.com

See you there!

/home/florian

le blog de florian cargoet : du linux, du web et du logiciel libre



Javascript : rendre une RegExp non sensible à la casse

14 October, 2009 (20:21) | Webdev | Florian Cargoet

Catégorie Webdev : A propos du web, de son contenu, de ses outils...

Je n’ai pas trouvé de méthode idéale pour rendre une expression régulière existante non sensible à la casse. Il n’y a pas de méthodes pour ça sur les objets RegExp et la propriété ignoreCase est en lecture seule.

?View Code JAVASCRIPT
var regex = /blabla/;
regex.ignoreCase; //false
regex.ignoreCase = true;
regex.ignoreCase; //false encore...

Donc j’ai bidouillé un peu :

?View Code JAVASCRIPT
var regex = /blabla/;
regex.test('Blabla'); //false
 
regex = new RegExp(regex.toString().slice(1,-1), 'i');
regex.test('Blabla'); //true

Je trouve ça un peu lourd… Connaissez-vous une autre méthode ? Suis-je passé à côté de quelque chose ?

Commentaires

Commentaire de Cristian
le 3 December 2009, 0:33

J’ai fait ça dans firebug et il va bien:

var regex=/blabla/i;
regex.test(‘Blabla’); //true

Commentaire de Florian Cargoet
le 3 December 2009, 9:28

Oui, on utilise /i pour créer une regex non sensible à la casse, mais ici, le problème était de transformer une regex sensible à la casse déjà créée en une regex non sensible.