3 votes

Regex pour obtenir tous les champs alphanumériques à l'exception de la virgule, du tiret et du guillemet simple.

J'essaie de supprimer tous les caractères numériques non alpha, à l'exception de la virgule, du tiret et du guillemet simple. Je sais comment supprimer tous les non-mots d'une chaîne de caractères, c'est-à-dire

myString.replace(/\W/g,'');

Mais comment faire à l'exception de , - y ' ? J'ai essayé

myString.replace(/\W+[^,]/g,'');

Parce que je sais comment nier en utilisant le ^ mais j'ai du mal à combiner les expressions rationnelles.

Toute aide est appréciée. Merci.

10voto

Explosion Pills Points 89756

\w est l'inverse de \W donc vous pouvez simplement utiliser /[^\w,'-]/

EDIT : au cas où l'underscore n'est pas non plus souhaité : /[^\w,'-]|_/

9voto

Jonathan Feinberg Points 24791

La classe de caractères suivante correspond à un seul caractère qui appartient à la classe des lettres, des chiffres, de la virgule, du tiret et du guillemet simple.

[-,'A-Za-z0-9]

Ce qui suit correspond à un caractère qui n'est pas l'un de ceux-ci :

[^-,'A-Za-z0-9]

Alors

var stripped = myString.replace(/[^-,'A-Za-z0-9]+/g, '');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X