Главная страница
    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.042 c
3-1129816653
KorvinOE
2005-10-20 17:57
2005.12.04
Перетаскивание записей между DBGrid


14-1131617779
Jeer
2005-11-10 13:16
2005.12.04
Правительство Эстонии оплатит расходы на установку памятника эсэс


3-1128271929
menart
2005-10-02 20:52
2005.12.04
Как законектится к MSSQL используя ADO с другим именем пользовате


14-1131999808
x.pro
2005-11-14 23:23
2005.12.04
А чем Linux так хорош?


14-1132137972
pasha_golub
2005-11-16 13:46
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский