1. JavaScript / Говнокод #4026

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    function urldecode(code) {
    code = escape(code);
    code = code.replace(/\+/g,' ');
    code = code.replace(/%21/g,'!');
    code = code.replace(/%22/g,'"');
    code = code.replace(/%23/g,'#');
    code = code.replace(/%24/g,'$');
    code = code.replace(/%2D/g,'-');
    code = code.replace(/%5E/g,'^');
    code = code.replace(/%26/g,'&');
    code = code.replace(/%B9/g,'?');
    code = code.replace(/%3B/g,';');
    code = code.replace(/%25/g,'%');
    code = code.replace(/%3A/g,':');
    code = code.replace(/%3F/g,'?');
    code = code.replace(/%28/g,'(');
    code = code.replace(/%29/g,')');
    
    /*...70 строк такого же говна...*/
    
    return code;
    }

    http://informer.gismeteo.ru/js/decode.js
    Прошу прощения если баян.

    Запостил: Vindicar, 18 Августа 2010

    Комментарии (8) RSS

    • ОМГ
      Отрывать руки к едрени-фени
      Ответить
    • регулярки - не панацея. и не безопасная бритва
      Ответить
      • Внезапно, без регулярок (с подстрокой) JS заменяет только первое вхождение...
        Ответить
        • спасибо %К.О.%
          Ответить
          • Ну, для меня это было ВНЕЗАПНО.
            Я, блин, думал что в JS как в нормальных языках - есть параметр max_replace, а по дефолту заменяется всё...
            Ответить
            • В нормальных языках по дефолту заменяется всё? Хм.. А модификатор /g тогда не нужен вовсе?
              Ответить
              • Я не про замену на регулярных выражениях, а про простой str_replace.
                Кстати, вот чего никогда не понимал - зачем их смешивать в кучу?
                Ответить
    • Если платили за количество строк то очень грамотное решение иначе школота JS освоить пытается
      Ответить

    Добавить комментарий