Échapper les caractères spéciaux des expressions régulières avec JavaScript

"strRegExp" est une fonction JavaScript qui permet d'échapper dans une chaîne les caractères spéciaux qui sont réservés aux expressions régulières.

function strRegExp(a,b,c) {
  a = a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");
  if (b) {
    c = c || '';
    return new RegExp(a, c);
  } else {
    return a;
  }
}

Exemple de filtre avec une expression régulière sur une chaîne contenant des caractères spéciaux :

var str = "Chaîne contenant un [test]";
var exp = new RegExp(strRegExp("[test]"));

exp.test(str);
// renvoie : true

Cet article vous a-t-il été utile ?

Super :)
Merci d'avoir donné votre avis !

Oups :(
Merci d'avoir donné votre avis qui va nous permettre de nous améliorer !

^