Javascript.RU

PHP-функция: addslashes

Javascript:

function addslashes( str ) {	// Quote string with slashes
	// 
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: Ates Goral (http://magnetiq.com)
	// +   improved by: marrtins

	return str.replace('/(["\'\])/g', "\\$1").replace('/\0/g', "\\0");
}

Примеры:

addslashes("kevin's birthday");
"kevin\'s birthday"


Автор: Гость (не зарегистрирован), дата: 16 мая, 2010 - 16:20
#permalink

то бред не работает. просто :
str = str.replace(/([\"\'])/g, "\\$1");


Автор: Гость (не зарегистрирован), дата: 17 апреля, 2011 - 17:39
#permalink

оба варианта не рабочие, слеши должны добавляться перед кавычками, нулевым байтом И слешом.


Автор: Гость (не зарегистрирован), дата: 10 июля, 2011 - 01:23
#permalink

мда ребята мастера работы с регулярными выражениями
str = str.replace(/\\?("|')/g, '\\$1');


Автор: ximik777, дата: 26 июня, 2014 - 13:18
#permalink

Не будет работать ваша функция если ей передать такое:
C:\Users\User1\Desktop\Porn\*.avi
А эта будет:

function addslashes(str) {
    str=str.replace(/\\/g,'\\\\');
    str=str.replace(/\'/g,'\\\'');
    str=str.replace(/\"/g,'\\"');
    str=str.replace(/\0/g,'\\0');
    return str;
}

Автор: LoL (не зарегистрирован), дата: 11 мая, 2012 - 14:59
#permalink
echo "--";

123456


Автор: Аlexus (не зарегистрирован), дата: 17 сентября, 2012 - 20:51
#permalink

Что-то ни где на сайте не нашёл, подскажите (прокомментируйте) какую роль выполняют \\ в паттерне /\\?("|')/


Автор: excoin (не зарегистрирован), дата: 3 марта, 2014 - 21:21
#permalink

Бэкслэш( \ ) является спецсимволом экранирования, соответственно если мы хотим вставить в текст бэкслэш, его нужно заэкранировать, получается, что мы экранируем его самим собой - \\


Автор: Гость (не зарегистрирован), дата: 19 декабря, 2014 - 20:19
#permalink

Попробуйте этим отэскейпить ("1\0" + "2").replace...

Мой вариант:
s.replace(/(['"\\])/g, '\\$1').replace(/\0/g, '\\000')

P.S. Я не понял назначение конструкции "\\?" в коменте Гостя. Может кто меня просветит?


Автор: Гость (не зарегистрирован), дата: 12 апреля, 2022 - 19:42
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 00:15
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 13:30
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 14:34
#permalink

Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
4 + 6 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние комментарии
Последние темы на форуме
Forum