Главная страница
    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.038 c
2-1131877539
Ольга
2005-11-13 13:25
2005.12.04
Загрузка файла в TStringList


2-1131952549
alexus
2005-11-14 10:15
2005.12.04
Проблемы с установкой


6-1124450191
Piter
2005-08-19 15:16
2005.12.04
Как грамотно работать с сокетами


14-1131812706
Andy BitOff
2005-11-12 19:25
2005.12.04
В вы говорите...


14-1131561542
Сафаров
2005-11-09 21:39
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский