Показать сообщение отдельно
  #83 (permalink)  
Старый 05.12.2011, 10:13
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

вот все, точно последняя... Оптимизированная версия, удалил из реги часть ненужных правил... Проснулся поглядел на свою работу, и понял что отдыхать нужно точно =))) Много лишнего было напичкано, удалил все лишнее и рега стала немного короче...

var a = [  
    'Привет, на вот зацени ссылку: "http://test.ru/blablablah.html?test=param&qwerty#anchor." это крутая ссыль =) и вот еще [url]www.google.ru[/url], [url]www.tarampampam.com[/url]!!! и вот еще файлик на ФТП ftp://tarampampam.ru/file.zip.',  
    
    'http://translate.google.ru/?js=n&prev=_t&hl=ru&ie=UTF-8&layout=2&eotf=1&sl=en&tl=ru&text=Possibly+another+solution+would+be+to+have+the+description+text+hidden+by+default+and+only+shows+when+the+title+is+focused%2Fhovered+over.%0D%0A%0D%0A+Here%27s+an+example%3A+http%3A%2F%2Fwww.1true.co.uk%2Ffastscroll.html&file=#en|ru|blah',  
    
    'http://президент.рф/документы,',  
    
    '"http://testdomen/blabla/" - не заматчило - это by design?',  // не корректная ссылка, нет верхнего домена
    
    'Крутая:http://javascript.ru/forum/project/23691-poisk-ssylok-na-stranice-5.html-ссылка',  
    
    'http://дердымцопцоп,.ru/',  // не корректная ссылка
    
    'http://votrube.ru/uploads/posts/2011-12/1322827006_-(www.votrube.ru)2.jpg',  
    
    'http://yandex.ru-хорошая ссылка',

    'ftp://username:password@domen/blah/', // не корректная нет верхнего домена

    'ftp://username:password@domen.ru/blah/   ghj',

    'ftp://password@domen.ru/blah/',  // допустимая ссылка

    'ftp://username:@domen.ru/blah/',   // допустимая ссылка

    'ftp://username:domen.ru/blah/',  // не корректная ссылка

    'ftp://username@:domen.ru/blah/',  // не корректная ссылка

    'http://blah.ru:8089',

    'http://blah.ru:8080/lalalala/',

    'ftp://username:password@domen.ru:3131/blah/',

    'username:password@domen.ru:3131/blah/.',

    'username:password@domen.ru:/blah/.'
]; 

for( var b, i = 0; i < a.length; i++ ) {
b = a[i].match( /(?:(http(?:s)?|ftp)(:\/\/)(?:[^:]+(?::)?[^@]+@)?|(?:[^:]+(?::)?[^@]+@)?(www(?:[0-9]+)?\.))([^`~!@#$%^&*()_+|=\\{}\[\];:'"<,>?\/\s]+)\.([^`~!@#$%^&*()_+|=\\{}\[\];:'"<,>?\/\s]+)(?::[0-9]+)?(?:\/[^\s]+(?!\s|$)[^`~!@#$%^&*()_+|=\\{}\[\];:'"<,.>\-?\s]+)?/ig );
    
alert(b);
}


Все, думаю с меня хватит. что-то я совсем отвлекся не на то =)))
Посмотрим что получиться у Gozar.

Последний раз редактировалось devote, 05.12.2011 в 10:16.
Ответить с цитированием