2010-10-23 5 views
0

Je veux écrire un script qui ajoute une barre oblique inversée() à chaque fois qu'il trouve des guillemets ou \ r. Il fonctionne, mais pour « et « mais je ne sais pas comment écrire pour \ r Quelqu'un pourrait-il me aider MERCIEcriture dans la chaîne Javascript

<script type="text/javascript"> 
var test="Let\'s test if this \"works\" properly"; 
var escapedString = test.replace(/(['"])/g, "\\$1"); 
document.write(escapedString); 
</script> 

sortie:.? Laissez \ » test s si cela \ » fonctionne \ "correctement

+0

Avez-vous besoin de '" \ r \ n "' pour devenir '" \\\ r \\\ n "', ou '" \\ r \\ n "'? – tig

Répondre

1

comprennent Juste le \ r dans votre expression support carré

<script type="text/javascript"> 
var test="Let\'s test if this \"works\" properly"; 
var escapedString = test.replace(/(['"\r])/g, "\\$1"); 
document.write(escapedString); 
</script> 

ÉDITÉE AJOUTER UN ÉVÉNEMENT d'ENTRÉE sUR lA BASE SOLUTION:.

Apparemment, ce que vous réel Vous voulez savoir comment ajouter un écouteur d'événement à une entrée et comment le faire fonctionner en appuyant sur une touche.

<input type="text" onkeyup="keyUpHandler(event)"/> 

Et gérer comme ceci:

function keyUpHandler(event) { 
    event = event || window.event; // allowing for IE 
    var kc = event.keyCode; 
    var re = /[\r\n]+/; 
    if kc.match(re) { 
    // statements 
    } 
} 

Essayez quelque chose comme ça. J'espère que cela t'aides.

+0

Merci mais ça ne marche pas. C'est de ma faute, je ne l'ai pas bien expliqué. Quand je dis "\ r", je veux vraiment dire quand vous appuyez sur ENTER (nouvelle ligne). Ce que vous avez suggéré fonctionne quand il est écrit littéralement "\ r", mais non quand une nouvelle ligne est trouvée. Pouvez-vous m'aider? Encore merci. – Arturo

+0

Ensuite, ce que vous demandez est vraiment sur la façon d'écouter l'événement 'onkeyup' et d'écrire un gestionnaire pour cela. Ajout d'une section dans ma réponse ci-dessus pour vous aider à démarrer. – Robusto

+0

Merci beaucoup pour votre aide !! – Arturo