Экранирование строк JavaScript

Экранируйте текст для строковых литералов JavaScript ("…", '…' или `…`) с \n, \t, \" и при желании \uXXXX для не-ASCII — либо снимайте экранирование строк JS.

Символов: 36 · байт: 40 (UTF-8)

Символов: 0 · байт: 0 (UTF-8)

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое Экранирование JavaScript?

Превращает любой текст в содержимое корректного строкового литерала JavaScript для выбранного вида кавычек, а экранированные строки JS преобразует обратно в обычный текст.

Как пользоваться Экранирование JavaScript

  1. Выберите Экранировать или Снять экранирование.
  2. Для экранирования выберите Ограничитель строки (двойные, одинарные кавычки или шаблонная строка) и при необходимости Экранировать не-ASCII как \uXXXX.
  3. Вставьте текст в Ввод и скопируйте Вывод между своими кавычками.

Пример

Ввод
Path: C:\temp "new"
Вывод
Path: C:\\temp \"new\"

Ограничитель — двойные кавычки.

Когда использовать Экранирование JavaScript

Используйте, когда зашиваете текст, шаблоны или JSON-подобные данные в исходный код JavaScript или TypeScript. При встраивании данных в теги HTML <script> убедитесь также, что </script> не может встретиться; для данных JSON используйте JSON.stringify или формат JSON в инструменте «Экранирование строк».

Как работает Экранирование JavaScript

При экранировании обратная косая черта, перевод строки, возврат каретки, табуляция, backspace, перевод страницы и вертикальная табуляция заменяются на \\ \n \r \t \b \f \v; выбранный символ кавычки получает обратную косую черту (для шаблонных строк также ${); остальные управляющие символы становятся \xHH, а U+2028/U+2029 экранируются всегда, потому что ломают старые парсеры. С опцией для не-ASCII каждый символ выше U+007E превращается в \uXXXX (для эмодзи — суррогатные пары). Снятие экранирования понимает все экранирования JS, включая \u{…}, \xHH, устаревшие восьмеричные и продолжение строки.

Распространенные Случаи Использования

  • Вставка многострочного текста в строковую константу JS
  • Экранирование кавычек в строках для генераторов кода
  • Получение исходных файлов только из ASCII с экранированием \u
  • Чтение экранированных строк из минифицированного кода или логов

Часто Задаваемые Вопросы

Какие символы кавычек экранируются?

Только тот, который вы выбрали ограничителем (а в режиме шаблонной строки ещё обратная кавычка и ${), поэтому результат остаётся читаемым.

Почему U+2028 и U+2029 экранируются?

До ES2019 они считались концами строк внутри строковых литералов и могли ломать код в старых движках.

Корректен ли результат как JSON?

Не всегда: JSON не допускает \x, \v и строки в одинарных кавычках. Для JSON используйте формат JSON в инструменте «Экранирование строк».

Что сделать дальше

Другие категории