Rechercher : dans
Par :

Apostrophe en JavaScript

Dernière réponse le 8 oct 2008 à 17:35:06 hasan, le 8 nov 2004 à 12:15:38 
 Signaler ce message aux modérateurs

Bonjour,

Je galere sur un point.

J'ai un input text avec un appel de fonction sur le onChange.
Je passe en parametre une valeur qui peut contenir une apostrophe, d'ou le probleme.

J'aurais besoin d'un convertisseur pour pouvoir transformer mes ' en \'. Addslashes le fait mais c coté serveur non? Il me le faudrait en javascript et pouvant etre effectuée juste avant mon onChange.

Merci de m'aider.

Meilleures réponses pour « Apostrophe en JavaScript » dans :
Les guillemets, apostrophes et les chaînes VoirComment jouer avec les guillemets et les apostrophes dans les chaînes 1. Préambule 2. Éviter une coupure dans la chaîne 3. Ajouter un guillemet dans la chaîne 3.1 Avec l'apostrophe 3.2 Avec l'ASCII 3.3 Directement 3.3.1 Méthode...
YouTube - Vous avez désactivé JavaScript VoirProblème Lorsque vous naviguez sur certains sites, tels que YouTube, ceux-ci affichent le message d'erreur suivant : Vous avez désactivé JavaScript ou bien vous possédez une ancienne version d'Adobe Flash Player. Téléchargez la dernière version...
Javascript - Librairies d'effets pour vos images VoirAu gré de vos explorations du web, vous avez vu de superbes effets de présentation des images. Et ça vous plairaît bien de pouvoir proposer les mêmes à vos visiteurs. Voici quelques solutions en Javascript couplées à des CSS. Elles sont plus...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
Javascript - Introduction au langage Javascript VoirQu'est-ce que le Javascript? Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des...

1

echappé, le 8 nov 2004 à 15:25:16

Voir de près escape et/ou unescape

Répondre à echappé

2

amarine, le 8 déc 2004 à 17:52:23

J'ai eu un problème un peu similaire (réception d'une valeur dans un tag sur lequel je n'ai pas la main et dans lequel il y a une apostrophe). Je n'avais pas à le passer en paramètre à une fonction mais je pense que tu devrais essayer de passer en paramètre à ta fonction:
document.formulaire.NOMINPUT.valuesplit("'").join("\'");

Merci de faire un retour si ça fonctionne

Répondre à amarine

3

amarine, le 8 déc 2004 à 17:55:20

J'ai oublié un point:
document.formulaire.NOMINPUT.value.split("'").join("\'");

Répondre à amarine

4

eli, le 14 déc 2004 à 14:37:49

Slt,
moi g u le meme pb (je construis des requetes en javascript que je balance a php) et avec le .split("'").join("\'"); ca marche nikel.
Pour remplacer des " il faut faire .split("\"").join("\\\"");

Répondre à eli

5

Aurélien, le 21 nov 2006 à 13:07:31

Bonjour tout le monde,
perso je cherche une fonction qui soit capable de me remplacer tous les caractères spéciaux par sont équivalent utf8...les accents, mais aussi les apostrophe et autre caractères d'échapement...quelqu'un à t'il ca sous la main ?

merci
Aurélien

Répondre à Aurélien

6

Thibault, le 27 nov 2006 à 17:08:37

C'est moi qui ne suis pas doué ou ça ne marche pas ?

Je précise que je ne suis pas très doué en JavaScript

1° Je récupère les données dans une variable

var titrefromdb = resultat.getAttribute('titre');
(il s'agit d'un parsing d'XML)


titrefromdb.split("'").join("\'");

Ne fais rien du tout

3° Même chose pour

titrefromdb.split("\"").join("\\\"");

Pouvez vous m'aider ?

Répondre à Thibault

7

slooptoo, le 27 nov 2006 à 17:58:38

Split + join = berk (desole mais bon)
utiliser replace...
titrefromdb = titrefromdb.replace(/'/g,"\\'");

petite explication
/'/g est une expression reguliere 'identifiant' tous les caracteres ' du string "g" signifiant "global"
on remplace donc chaque quote par \\'
"\\" parce que "\" est un caractere d echappement donc il faut lui meme l echapper... c est pas clair du tout... difficile d expliquer ca

Répondre à slooptoo

8

Thibault, le 27 nov 2006 à 18:36:05
  • +5

La bonne solution :

function addslashes(ch) {
ch = ch.replace(/\\/g,"\\\\")
ch = ch.replace(/\'/g,"\\'")
ch = ch.replace(/\"/g,"\\\"")
return ch
}

Répondre à Thibault

9

 aymanochko, le 8 oct 2008 à 17:35:06
  • +1

L'utilisation de la fonction escape resout parfaitement ce problème

Répondre à aymanochko
Collection CommentÇaMarche.net