Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Вниз

Знатокам JavaScript   Найти похожие ветки 

 
Piter ©   (2005-10-31 18:48) [0]

Требуется написать программку распарсивания строчки-ссылки.

Итак, имеется magnet ссылка, что-то вроде:

magnet:?xt=urn:tree:tiger:X57J2GGL6QNSOAGFBPNYMTNLP633XB2VOHFADLA&xl=367300608&dn=kino.avi

Гле "magnet:?xt=urn:tree:tiger:" - постоянная вещь
   "X57J2GGL6QNSOAGFBPNYMTNLP633XB2VOHFADLA" - хеш
   "&xl=367300608" - это размер файла в байтах
   "&dn=kino.avi" - имя файла

Нужно написать на JavaScript программку, которая из окошка ввода берет данную ссылку и вот что делает:

1) вычлиняет имя файла  (kino.avi)
2) вычлиняет количество байт (367300608)

Заранее спасибо!


 
Algol   (2005-10-31 19:08) [1]

А что, в javascript регекс не такой как везде?

MSDN:
The following example illustrates the use of the global RegExp object.

function matchDemo(){
  var s;
  var re = new RegExp("d(b+)(d)","ig");
  var str = "cdbBdbsbdbdz";
  var arr = re.exec(str);
  s = "$1 contains: " + RegExp.$1 + "\n";
  s += "$2 contains: " + RegExp.$2 + "\n";
  s += "$3 contains: " + RegExp.$3;
  return(s);
}


 
Piter ©   (2005-10-31 19:22) [2]

а, ну и еще делательно, чтобы JS код на все браузерах отрабатывал...


 
Piter ©   (2005-11-09 20:13) [3]

Удалено модератором
Примечание: Создание пустых сообщений


 
Gero ©   (2005-11-09 20:18) [4]

И что у тебя получилось?


 
Kerk ©   (2005-11-09 20:20) [5]

substring, indexOf + F1


 
Piter ©   (2005-11-13 23:57) [6]

Kerk ©   (09.11.05 20:20) [5]
+ F1


а F1 где жать? Прямо в блокноте? :)))


 
Kerk ©   (2005-11-14 00:01) [7]

Piter ©   (13.11.05 23:57) [6]
а F1 где жать? Прямо в блокноте? :)))


:))) Попробуй :))
В MSDN наверно :)
Я просто давным давно реализовывал немножко похожую штуку.

Кусок кода вместо справки. По смыслу функции поймешь :)

   if (addr != "0.0.0") {
     var cur_gateway = new String(Rs("GATEWAY"));
     var cur_str=new String(cur_gateway);

     pos=cur_str.indexOf(",");

     exists = false;
     while (pos!=-1)  {
       temp = cur_str.substring(0,pos);
       cur_str = cur_str.substring(pos+1,cur_str.length);
       pos=cur_str.indexOf(",");
       if (temp==addr) {
         exists=true;
         break;
       }
     }

Хз. Может пригодится :)


 
разводящий   (2005-11-14 00:27) [8]

http://program.rin.ru/razdel/html/118-3.html


 
Piter ©   (2005-11-14 03:26) [9]

Algol   (31.10.05 19:08) [1]

странно, есть вопрос по RegExp:

Почему так вот не работает:

var re = new RegExp("^([0-9]+)=dn=(\S+)$");
 var str = "34444=dn=kino.avi";
 var arr = re.exec(str);


А вот так работает:

var re = new RegExp("^([0-9]+)=dn=(.+)$");
 var str = "34444=dn=kino.avi";
 var arr = re.exec(str);


Мне надо из строки:

34444=dn=kino.avi

извлечь:

34444 и kino.avi


 
Piter ©   (2005-11-14 13:53) [10]

Нарооод?


 
разводящий   (2005-11-14 14:53) [11]

Здесь находится библиотека TRegExpr к Delphi и с ней демка, с помощью которой можно тестировать регулярные выражения. Регулярные выражения полностью соответствуют принятым в Perl, а значит и JavaScript.

http://regexpstudio.com/



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.12.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.072 c
3-1129726137
DancerMan
2005-10-19 16:48
2005.12.04
Удаление из *.dbf


2-1132312067
sashuly
2005-11-18 14:07
2005.12.04
Задача параметров в TADOConnection


4-1128098866
kDenis
2005-09-30 20:47
2005.12.04
Как обновить изображение нарисованное на окне?


2-1132332848
Boble
2005-11-18 19:54
2005.12.04
FILTER по LOOKUP полям


14-1131977618
oldman
2005-11-14 17:13
2005.12.04
И куда тратятся деньги? :(





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский