Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.09.2008, 13:37
Новичок на форуме
Отправить личное сообщение для GRol Посмотреть профиль Найти все сообщения от GRol
 
Регистрация: 08.09.2008
Сообщений: 3

Разбор строки
Всем доброго времени суток. Не судите строго, в js совсем новичёк...
У меня задачка следующая. Мне надо менять имя файла в input type = "File"

т.е предположим есть строка в инпуте:

c:\DSP\рабочие инструкции\Планы.txt

Мне надо заменить слово находящиеся между \ и . на какое то своё.

Я нашёл функцию замены rez = str_replace(inStr,replStr, string);
inStr - это значение в строке от \ до . (т.е. слово Планы)
Вопрос - как мне из моей строки получить необходимый текст от \ до . ?
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2008, 13:51
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

ты не сможешь подставить в инпут(файл) другое значение, так как это нарушение политики безопасности.
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2008, 14:18
Новичок на форуме
Отправить личное сообщение для GRol Посмотреть профиль Найти все сообщения от GRol
 
Регистрация: 08.09.2008
Сообщений: 3

т.е. я не могу это функционально сделать в JS вообще?

дело в том что у меня есть 5 полей input одинакового типа File.
каждое из них заполняет пользователь, но обязательно есть статические имена вкладываемых файлов для каждого поля, т.к. пользователь может файл назвать по другому... поэтому и надо принудительно менять имена файлов перед отправкой страницы на сервер
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2008, 14:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от GRol
но обязательно есть статические имена вкладываемых файлов для каждого поля, т.к. пользователь может файл назвать по другому... поэтому и надо принудительно менять имена файлов перед отправкой страницы на сервер
Че?
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2008, 14:46
Новичок на форуме
Отправить личное сообщение для GRol Посмотреть профиль Найти все сообщения от GRol
 
Регистрация: 08.09.2008
Сообщений: 3

в общем неважно)
Это сложно правильно сформулировать... в
принципе если не вдаваться в подробности я просто спросил

как получить значение из строки находящееся между знаками / и .
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2008, 15:41
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

GRol, на каком языке-то? В первом сообщении был PHP.
Ответить с цитированием
  #7 (permalink)  
Старый 08.09.2008, 15:48
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

GRol,
Сообщение от GRol
поэтому и надо принудительно менять имена файлов перед отправкой страницы на сервер
Вы все делаете неправильно. Переименовывать файлы нужно уже на сервере, а не на клиенте. Почитайте об этом на php.net.
Ответить с цитированием
  #8 (permalink)  
Старый 06.12.2008, 15:28
anasana
 
Сообщений: n/a

Не имеет значения что именно хочет сделать автор, важно что он спросил. Вот у него допустим в поле input "name='file' type='file' onchange='some_func(this.value);'", пользователь выбрал файл:
"c:\DSP\рабочие инструкции\Планы.txt"
И вопрос заключался в том, как регуляркой на ЯваСкрипте получить в переменную браузера слово, находящиеся между "\" и ".", т.е., в его примере это - "Планы", а в теме вместо этого почему-то переползли на безопасность инпутов,.. Задачи то разные бывают, мне, например, нужно выгрызть имя файла для проверки именно имени и именно на стороне клиента на возможные левые символы + инфу про всю нелатинницу, что бы пользователь ещё до отправки файла на сервер сразу знал, что часть неправильных, с моей точки зрения, символов в имени его файла, при сохранении ко мне на сервер, будут вырезаны и точно потеряются.
Ответить с цитированием
  #9 (permalink)  
Старый 06.12.2008, 16:32
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

anasana,во первых незачем поднимать тему 3-хмесячной давности.
во вторых, если вы еще не все буквы алфавита выучили, то я вам глубоко сочуствую, ибо автор просил именно
Сообщение от GRol
Мне надо заменить слово находящиеся между \ и . на какое то своё.
и в третьих, если раз вычто-то знаете по теме вопроса(хотя это не так), то могли бы кусок кода выложить
Ответить с цитированием
  #10 (permalink)  
Старый 06.12.2008, 18:40
anasana
 
Сообщений: n/a

Сорри не глянул на дату... меня уже на каком-то форуме за подобное назвали гостём-некрофилом , но тогда я вообще такое вытянул...
От темы JS я тоже далёк и буквы для меня - тоже проблема см. ниже, поэтому тот код, который за сегодня мне удалось собрать в кучу очень неопрятный:
function symbols(symb) { var lastdot, name, ext, i, j, ss, ts, sb, bb, sterr = '', als = '._ !@#$%^&()+=[],~-'; // + latin letters only
symb = symb.substring(symb.lastIndexOf('\\')+1, symb.length); lastdot = symb.lastIndexOf('.'); if (lastdot==-1) { lastdot = symb.length; }
name = symb.substr(0, lastdot); ext = symb.substring(name.length, symb.length); ext = ext.toLowerCase(); symb = name+ext;
if (ext!='.zip' && ext!='.rar' && ext!='.sit' && ext!='.png') { alert('Bad extention:'+ext+' (.zip, .rar, .sit or .png only)'); return false; }
for (i=0; i<=symb.length-1; i++) { ss = 0; ts = 0; sb = 0; bb = 0;
for (j=0; j<=als.length-1; j++) { if (symb.charAt(i) == als.charAt(j)) { ss++; } }
if (symb.charAt(i)>=0 && symb.charAt(i)<=9) { ts++; }
if (symb.charAt(i)>='a' && symb.charAt(i)<='z') { sb++; }
if (symb.charAt(i)>='A' && symb.charAt(i)<='Z') { bb++; }
if (ss+ts+sb+bb == 0) { sterr += symb.charAt(i); } }
if (sterr !='') { alert('Filename with latin letters only? Ok? Ошибки в следующих знаках ' + sterr); }
return false; }
В первом посте главным я посчитал:
> Вопрос - как мне из моей строки получить необходимый текст от \ до . ?
То, что просил автор у меня в переменной symb.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация и разбор javascript! o55rus Общие вопросы Javascript 2 23.09.2008 20:33
Вытащить ID из строки Sc@M Events/DOM/Window 2 01.09.2008 15:19