@skyfly2010

Как экранировать специальные символы в JS?

Прошу помочь и объяснить, как можно экранировать специальные символы в строке JS.
Пример текста: asda asd adasd da "da a sdas a'sadasdasdas+asdadasasd/asdasdasdadsa
Я роюсь в интернете и не могу найти готовую функцию для этого. Это очень странно, по идее, для экранирования или преобразования этих символов должна быть готовая функция.
А я нахожу какие-то статьи и форумы, где предлагают разбивать строку и прогонять через цикл для поиска и замены (экранирования) всех символов. Поясните, почему так.

А если и так, то как можно сделать так, чтобы составить свой массив спецсимволов, которые подлежат замене в строке?

В некоторых материалах видел отсылки к тому, что мол: "такая-то бибилиотека умеет это делать." Ок. Тут вопрос, почему язык в базе своей такое не умеет и/или я что-то упускаю и фундаментально не понимаю.
Прошу провести ликбез.
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
@maksam07
Причина, по которой вы не можете найти готовую встроенную функцию, связана с тем, что в зависимости от задачи вам может понадобиться экранирование для разных контекстов (HTML, JSON, регулярные выражения и т.д.), и язык не может предугадать ваши потребности.

Cуществуют библиотеки, которые предоставляют такие функции. Например, библиотеки lodash или underscore.js содержат утилиты для экранирования строк, а также для работы с различными контекстами (например, HTML или шаблонизаторы).

Если вам нужно экранирование для конкретного контекста, стоит воспользоваться специализированной библиотекой или написать свою функцию
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы