Подтвердить что ты не робот

Как добавить косые черты в строку в Javascript?

Просто строка. Добавьте к нему каждый раз, когда есть одна цитата.

4b9b3361

Ответ 1

replace работает для первой цитаты, поэтому вам нужно небольшое регулярное выражение:

str = str.replace(/'/g, "\\'");

Ответ 2

Следующая функция функции JavaScript: ",", "\" , "\" , "\n", "\" или "] эквивалентна функции php addlashes().

function addslashes(string) {
    return string.replace(/\\/g, '\\\\').
        replace(/\u0008/g, '\\b').
        replace(/\t/g, '\\t').
        replace(/\n/g, '\\n').
        replace(/\f/g, '\\f').
        replace(/\r/g, '\\r').
        replace(/'/g, '\\\'').
        replace(/"/g, '\\"');
}

Ответ 3

Строку можно легко и компактно экранировать с помощью JSON.stringify. Он является частью JavaScript с ECMAScript 5 и поддерживается более новыми версиями браузера.

str = JSON.stringify(String(str));
str = str.substring(1, str.length-1);

Используя этот подход, специальные команды в виде нулевого байта, символы Unicode и разрывы строк \r и \n экранируются надлежащим образом в относительно компактном выражении.

Ответ 4

Ответ, который вы не просили, может быть полезен, если вы делаете замену при подготовке отправки строки в alert() - или что-нибудь еще, где один кавычек может вас тронуть.

str.replace("'",'\x27')

Это заменит все одинарные кавычки шестнадцатеричным кодом для одиночной кавычки.

Ответ 5

var myNewString = myOldString.replace(/'/g, "\\'");

Ответ 6

Конечно, вам нужно не только заменить одиночные кавычки, но и уже сбежавшие:

"first ' and \' second".replace(/'|\\'/g, "\\'")

Ответ 7

var str = "This is a single quote: ' and so is this: '";
console.log(str);

var replaced = str.replace(/'/g, "\\'");
console.log(replaced);

Дает вам:

This is a single quote: ' and so is this: '
This is a single quote: \' and so is this: \'

Ответ 8

if (!String.prototype.hasOwnProperty('addSlashes')) {
    String.prototype.addSlashes = function() {
        return this.replace(/&/g, '&') /* This MUST be the 1st replacement. */
             .replace(/'/g, ''') /* The 4 other predefined entities, required. */
             .replace(/"/g, '"')
             .replace(/\\/g, '\\\\')
             .replace(/</g, '&lt;')
             .replace(/>/g, '&gt;').replace(/\u0000/g, '\\0');
        }
}

Использование: alert (str.addSlashes());

ref: fooobar.com/info/184108/...