Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Мелкая правка кода JS (https://javascript.ru/forum/job/35143-melkaya-pravka-koda-js.html)

рони 01.02.2013 18:34

Цитата:

Сообщение от rgl
А зачем буковка s после http в квадратных скобках?

можно и без скобок

nerv_ 01.02.2013 18:38

rgl, понятно

мой вариант http://learn.javascript.ru/play/nRow5b

rgl 01.02.2013 18:44

Цитата:

Сообщение от nerv_ (Сообщение 230949)

Примеры обманных урлов:
'http://www.somesite.ru/javascript.ru'
'http://javascript.ru.somesite.ru'

nerv_ 01.02.2013 19:17

Цитата:

Сообщение от rgl
Примеры обманных урлов:
'http://www.somesite.ru/javascript.ru'
'http://javascript.ru.somesite.ru'

ты заставляешь меня набирать буквы и смотреть в отладчик :)

alert( foo( 'http://www.somesite.ru/test.html?javascript.ru' ) );
alert( foo( 'http://learn.javascript.ru/forum' ) );
alert( foo( 'www.learn.javascript.ru/forum' ) );
alert( foo( 'http://javascript.ru/' ) );


function foo( url ) {
    compare = 'javascript';
    url = url.replace( /^[^:]+:../, '' )
              .replace( /\/.*/, '' )
              .split( '.' );

    return url[ url.length - 2 ] === compare;
}

rgl 01.02.2013 19:45

Цитата:

Сообщение от nerv_ (Сообщение 230962)
ты заставляешь меня набирать буквы и смотреть в отладчик :)

alert( foo( 'http://www.somesite.ru/test.html?javascript.ru' ) );
alert( foo( 'http://learn.javascript.ru/forum' ) );
alert( foo( 'www.learn.javascript.ru/forum' ) );
alert( foo( 'http://javascript.ru/' ) );


function foo( url ) {
    compare = 'javascript';
    url = url.replace( /^[^:]+:../, '' )
              .replace( /\/.*/, '' )
              .split( '.' );

    return url[ url.length - 2 ] === compare;
}

:no:

Еще обманный урл: "http://somesite.ru?www.javascript.ru"
А вот несправедливо забракованный: "http://javascript.ru?somesite.ru"

nerv_ 01.02.2013 21:24

rgl, еще варианты будут? :)
alert(
    [
        'http://www.somesite.ru/test.html?javascript.ru',
        'http://www.javascript.ru',
        'http://learn.javascript.ru',
        'http://www.somesite.ru/javascript.ru',
        'http://javascript.ru.somesite.ru',
        'http://www.somesite.ru/test.html?javascript.ru',
        'http://learn.javascript.ru/forum',
        'www.learn.javascript.ru/forum',
        'http://javascript.ru',
        'http://somesite.ru?www.javascript.ru',
        'http://javascript.ru?somesite.ru'
    ]
    .map( function( url ) { return foo( url ); })
    .join( '\n' )
);


function foo( url ) {
    url = url.replace( /^[^:]+:../, '' )
              .replace( /[?\/].*/, '' )
              .split( '.' );

    return url[ url.length - 2 ] === 'javascript';
}


Часовой пояс GMT +3, время: 23:03.