2012-01-08 5 views
-1

Je cette regex en JavaScript:Regex pour remplacer match entier

var val = val.replace(/[":)"]/g, "<img src = \"/img/smile.png\" height = 24 width = 24>"); 

Fondamentalement, ce regex devrait remplacer :) avec une image d'un smiley, mais il est de placer une image d'un visage souriant de chaque : ou ) pas lorsque les deux sont côte à côte.

Comment dois-je adapter cette regex: /[":)"]/g pour remplacer seulement s'il y a une correspondance exacte pour :) pas juste un seul?

Merci

Répondre

4

Ce que vous avez maintenant une classe de caractères, ce qui signifie qu'il cherche à correspondre soit à un ", : ou ) et le remplacer par l'image.

Pour résoudre ce problème, votre regex devrait être /:\)/g:

var val = val.replace(/:\)/g, "<img src = \"/img/smile.png\" height = 24 width = 24>");