JavaScript: Ein BackSlash als Teil des Strings

Lesezeit: 2 Minuten

Ich habe eine JavaScript-Variable, die ich mit PHP ausgebe, die wie folgt in der Seitenquelle angezeigt wird:

var db_1 = 'C:thispath';

Wenn ich den Wert eines Textfelds mit dieser Variablen wie folgt festlege:

$('#myinput').val(db_1);

Die Schrägstriche sind verschwunden und nur die anderen Zeichen sind übrig!

Warum ist das so und wie kann ich die Schrägstriche wieder einfügen??

Danke an alle

Ein Backslash ist ein Escape-Zeichen in JS. Sie gehen verloren, wenn das Zeichenfolgenliteral geparst wird.

Sie können sie nicht zurücklegen, weil Sie nicht sagen können, wo sie waren. Sie müssen in erster Linie sicherstellen, dass sie in der Zeichenfolge bleiben (indem Sie sie mit einer Escape-Sequenz darstellen).

var db_1 = 'C:\this\path';

  • Ich habe versucht, “” durch “\” zu ersetzen, aber das hat nicht funktioniert.

    – Abs

    19. Apr ’10 um 15:17

  • Wenn Sie mit “ersetzen” “im Quellcode ersetzen” meinen, sollte es funktionieren (und funktioniert bei mir). Wenn Sie “Verwenden Sie die JavaScript-String-Ersetzungsmethode” meinen, funktioniert es natürlich nicht – ich verweise Sie auf den zweiten Satz meiner Antwort zurück. Die Zeichenfolge enthält keine umgekehrten Schrägstriche, sondern nur Escape-Sequenzen. Da es keine Backslash-Zeichen gibt, erhalten Sie keine Änderungen, wenn Sie versuchen, sie durch etwas anderes zu ersetzen.

    – QUentin

    19. Apr ’10 um 15:20

  • Ah ich sehe, ich mache dann einen str_replace mit PHP. Danke!

    – Abs

    19. Apr ’10 um 15:20

  • @Abs: Es muss sein Ausgang wie ursprünglich \ können Sie es nicht nachträglich reparieren. Was du da eigentlich sonst hast ist c: gefolgt von einem Tab Charakter (t ist ein Tab in Javascript) gefolgt von hispath (weil p ist nicht speziell, daher wird der Backslash ignoriert). Wie also PHP-Ausgaben aussehen müssen var db_1 = 'C:\this\path'; damit die Backslashes maskiert werden.

    – TJ Crowder

    19. Apr ’10 um 15:21


  • Wenn PHP in Ihrem Setup eine Escape-Ebene benötigt, müssen Sie dies möglicherweise sogar schreiben als C:\\this\\path.

    – ndim

    19. Apr ’10 um 15:30

Sie können verwenden:

echo json_encode('C:thispath');

json_encode kann als Filterfunktion für einige JavaScript-Codes verwendet werden.

JavaScript Ein BackSlash als Teil des Strings
Kasturi

Versuche dies:

var db_1 = 'C:\this\path';

Für mehr Information:
http://www.w3schools.com/js/js_special_characters.asp

.

390320cookie-checkJavaScript: Ein BackSlash als Teil des Strings

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy