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"| Поиск по сайту |
| Последние темы на форуме |
Forum |
то бред не работает. просто :
str = str.replace(/([\"\'])/g, "\\1ドル");
оба варианта не рабочие, слеши должны добавляться перед кавычками, нулевым байтом И слешом.
мда ребята мастера работы с регулярными выражениями
str = str.replace(/\\?("|')/g, '\\1ドル');
Не будет работать ваша функция если ей передать такое:
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; }Что-то ни где на сайте не нашёл, подскажите (прокомментируйте) какую роль выполняют \\ в паттерне /\\?("|')/
Бэкслэш( \ ) является спецсимволом экранирования, соответственно если мы хотим вставить в текст бэкслэш, его нужно заэкранировать, получается, что мы экранируем его самим собой - \\
Попробуйте этим отэскейпить ("10円" + "2").replace...
Мой вариант:
s.replace(/(['"\\])/g, '\\1ドル').replace(/0円/g, '\000円')
P.S. Я не понял назначение конструкции "\\?" в коменте Гостя. Может кто меня просветит?