2016-07-11 6 views
-2

Escape Ich habe ein Eingabefeld, in dem der Benutzer alles eingeben kann ("", ''). Gibt es eine Möglichkeit, wie ich den Zitaten entkommen kann, ohne vorher ihren Typ zu kennen? Ich meine, wenn der Benutzer ("test"test'test") eingeben, wie kann ich es in js Variable speichern? Jeder Vorschlag kann mir helfen.Wie doppelte (einzelne) Anführungszeichen innerhalb eines anderen doppelten (einzelnen) Anführungszeichen mit JavaScript

Zum Beispiel möchte ich das richtig funktioniert:

<!DOCTYPE HTML> 
<html> 
    <body> 

    <script> 

     var myVar = "test"test'test"; 
     console.log(myVar.replace('\"', '\\"')); 

    </script> 
    </body> 
</html> 
+3

'var yourString = yourInput.value;' - so würde ich es machen. Nichts Besonderes. Wie würdest du es machen? – Xufox

+0

'var myVar =" test "test'test"; console.log (meineVar); ' Ich möchte in der Lage sein, dies zu tun, wo der Wert von myVar von Benutzereingaben abhängt. – user5783530

+4

Was muss dies tun mit Eingabefeldern, dann? Sie können alles mit Backslashes wie immer: 'var myVar =" test \ "test'test"; '. – Xufox

Antwort

1

FALSCH (mit Kommentaren zu erklären, warum):

Sie können keinen Ersatz für eine bereits syntaktisch gebrochene Variablendeklaration tun. Sie müssen die fehlerhafte Syntax beheben.

<!DOCTYPE HTML> 
<html> 
    <body> 
    <script> 
     // <-- You CANNOT do this. It's incorrect syntax. You need to escape it appropriately using backslashes. 
     var myVar = "test"test'test"; 

     // This line is not required. You need to correct the syntax error above instead. 
     console.log(myVar.replace('\"', '\\"')); 
    </script> 
    </body> 
</html> 

KORRIGIERT:

Hier können Sie die richtig entkam Werte innerhalb des Stringliteral sehen kann.

<!DOCTYPE HTML> 
<html> 
    <body> 
    <script> 
     var myVar = "test\"test\'test"; 
     console.log(myVar); 
    </script> 
    </body> 
</html> 
Verwandte Themen