экранирование строки, чтобы его можно было безопасно использовать в JavaScript - PullRequest
0 голосов
/ 31 мая 2018

У меня есть движок шаблонов Javascript, который генерирует HTML, все работает в браузере.Это lodash.

Шаблон выглядит следующим образом (только соответствующая часть):

       <button  onclick="somemethod('<%pruefobjekt.Name%>')" 
        </button>

Проблема: Если pruefobjekt.Name имеет значение 'в его значении,тогда сгенерированный JavaScript недействителен.Я пробовал encodeURI , но это не заменит '.

Есть ли для этого функция javascript?Или функция lodash?Я знаю, что могу просто заменить 'некоторым символом, а затем заменить его обратно, но это последнее средство.

Вопрос с другими словами: есть ли функция javascript, которая экранирует строки, чтобы ее можно было использоватьв javascript.

Большое спасибо за ваши ответы.

1 Ответ

0 голосов
/ 31 мая 2018

Что-то вроде ниже работает для вас?если вы можете использовать Regex.

function escapeString( str ) {
    return (str + '').replace(/[\\"']/g, '\\$&').replace(/\u0000/g, '\\0');
}

, или же в Javascript есть встроенный метод stringify.

JSON.stringify('String with "quotes"')

результаты

 "String with \"quotes\""

Надеюсь, это поможет

...