Есть ли встроенная функция JavaScript, например, функция PHP addslashes
(или addcslashes
) для добавления обратных косых черт к символам, которым требуется экранирование в строке?Экранирование строк в JavaScript
Например, это:
Это демо строка с «одинарные кавычки» и «двойные кавычки».
... стал бы:
Это демо строка с \ 'одинарные кавычки \' и \ "двойные кавычки \".
«Нужно ускользнуть» с какой целью? Существует много разных причин избежать строк, и правильный способ сделать это может быть различным в зависимости от цели. (например, addashes() PHP обычно является неправильным решением, когда задействован SQL: лучшее решение - это параметризованные запросы) – Miles
Я действительно разрабатываю виджет Dashboard Apple, и я хочу, чтобы мои строки были правильно экранированы, прежде чем использовать их в командах терминала через «widget.system». –
@SteveHarrison Это, вероятно, небезопасно. Там будут способы выйти из этого, позволяя выполнять произвольный код. Корпуса делают странные вещи с их помощью. Если вы планируете передавать ненадежные данные, единственный способ избежать необходимости делать backflips для 'system' - это использовать какую-то другую функцию вместо этого, которая позволяет вам передавать неэкономленные параметры. –