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

    +159

    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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    <script LANGUAGE="JavaScript">
        <!--
        function checkEmailAddress(email) {
            var allowedChars = ".-_@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
            var numberAt = 0;
            var indexAt = -1;
            var thisChar = "";
            if (email == "")
                return 0;
            for(j=0 ; j <= email.length ; j++) {
                thisChar = email.substring(j,j+1);
                if (allowedChars.indexOf(thisChar) == -1) {
                    return 0;
                }
                if (thisChar == "@") {
                    if (j == 0 || j >= email.length - 3 || numberAt > 0)
                        return;
                    numberAt++;
                    indexAt = j;
                }
            }
            if (numberAt != 1)
            {
                return 0;
            }
            if (email.substring(indexAt+1).indexOf(".") <= 0)
                return;
            for (j=0; j < email.indexOf("@"); j++) {
                if (allowedChars.indexOf(email.substring(j,j+1)) >= 4)  // Email address is correct!!
                    return 1;
            }
            return;
        }

    В данный момент используется в зарубежном SaaS-решении

    wunge, 20 Июля 2010

    Комментарии (33)
  2. JavaScript / Говнокод #3745

    +172

    1. 1
    function getCodeByCode(code)

    хорошее название функции

    mozg_raka, 20 Июля 2010

    Комментарии (12)
  3. JavaScript / Говнокод #3741

    +156

    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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    <script type="text/javascript">
    function TrackTransaction(pageTracker)
    {
    
    }
    </script>
    <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    var hndl = window.setTimeout("StartTracking()", 100);
    
    function StartTracking()
    {						
    if (typeof(_gat) == 'object')
    {					
    window.clearTimeout(hndl);
    var pageTracker =_gat._getTracker("UA-3200267-1");
    pageTracker._initData();
    pageTracker._trackPageview();
    TrackTransaction(pageTracker);
    }
    else
    {
    hndl = window.setTimeout("StartTracking()", 1000);
    }
    }	
    </script>

    laredoute . ru

    TrackTransaction универсальная функция )

    atarix12, 20 Июля 2010

    Комментарии (3)
  4. JavaScript / Говнокод #3731

    +172

    1. 1
    <script type="text/javascript" src='/wps/CacheProxyServlet/colorPalette/default/browserVendor/Netscape/browserName/Navigator/browserVersion/unknown/locale/ru/forwardurl/wps/themes/html/pgu/./js.jsp'></script>

    с сайта http://portal.rosreestr.ru

    Serebro, 19 Июля 2010

    Комментарии (10)
  5. JavaScript / Говнокод #3728

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function BIN(a) {
    	var x = false;
    	for (var i = 0; i < 50; i++) {
    		if (Math.pow(2, i) == a) {
    			x = true;
    		}
    	}
    	return x;
    }

    Проверка числа на степень двойки.

    eval, 18 Июля 2010

    Комментарии (93)
  6. JavaScript / Говнокод #3724

    +152

    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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    Map = function() {
        this._entries = new Array();
    }
    
    Map.prototype.containsKey = function(key) {
        return this.getEntry(key)!=null;
    }
    
    Map.prototype.get = function(key) {
        var entry = this.getEntry(key);
        return entry!=null ? entry.value : null;
    }
    
    Map.prototype.put = function(key, value) {
        var entry = this.getEntry(key);
        if (entry!=null) {
            entry.value = value;
        } else {
            entry = new Map.Entry(key, value);
            this._entries[this._entries.length] = entry;
        }
    }
    
    Map.prototype.size = function() {
        return this._entries.length;
    }
    
    Map.prototype.getEntry = function(key) {
        for (var i=0; i<this._entries.length; i++) {
            if (this._entries[i].key==key)
                return this._entries[i];
        }
        return null;
    }
    
    Map.prototype.entries = function() {
        return this._entries;
    }
    
    Map.prototype.keys = function() {
        var result = new Array();
        for (var i=0; i<this._entries.length; i++) {
            result[result.length] = this._entries[i].key;
        }
        return result;
    }
    
    Map.prototype.values = function() {
        var result = new Array();
        for (var i=0; i<this._entries.length; i++) {
            result[result.length] = this._entries[i].value;
        }
        return result;
    }
    
    Map.prototype.addAll = function(map) {
        if (map==null)
            return;
        var oe = map.entries();
        for (var i=0; i<oe.length; i++) {
            this.put(oe[i].key, oe[i].value);
        }
    }
    
    Map.prototype.toString = function() {
        return "[Map{size:"+this._entries.length+", entries:"+this._entries+"}]";
    }
    
    Map.Entry = function(key, value) {
        if (arguments.length==0)
            return;
        this.key = key;
        this.value = value;
    }
    
    Map.Entry.prototype.toString = function() {
        return "[Entry{key:"+this.key+", value:"+this.value+"}]";
    }

    То что любой объект и так работает как Map автор видимо не знал.
    Можно было бы предположить, что автор это знал, но написал этот Map для того чтобы использовать произвольные объекты как ключи, однако во всех обнаруженных использованиях этой Map ключами были строки.

    borka, 17 Июля 2010

    Комментарии (12)
  7. JavaScript / Говнокод #3722

    +159

    1. 1
    Boolean.prototype.toLocaleString = function () { return this; return this ? 'Yes' : 'No' }

    пукнул...

    bugmenot, 16 Июля 2010

    Комментарии (8)
  8. JavaScript / Говнокод #3720

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Object.prototype.addEvent = function (type, handler) {
    	for (var i = 0; i < this.length; i++) {
    		this[i]['on' + type] += ';' + (handler + '').replace(/function.+?\{/, '').replace(/}$/, '');
    	}
    	return this;
    };

    eval, 16 Июля 2010

    Комментарии (8)
  9. JavaScript / Говнокод #3703

    +172

    1. 1
    e.keyCode == 33 ? "!": e.keyCode == 34 ? "\"": e.keyCode == 35 ? "#": e.keyCode == 36 ? "$": e.keyCode == 37 ? "%": e.keyCode == 38 ? "&": e.keyCode == 39 ? "'": e.keyCode == 40 ? "(": e.keyCode == 41 ? ")": e.keyCode == 42 ? "*": e.keyCode == 43 ? "+": e.keyCode == 44 ? ",": e.keyCode == 45 ? "-": e.keyCode == 46 ? ".": e.keyCode == 47 ? "/": e.keyCode == 48 ? "0": e.keyCode == 49 ? "1": e.keyCode == 50 ? "2": e.keyCode == 51 ? "3": e.keyCode == 52 ? "4": e.keyCode == 53 ? "5": e.keyCode == 54 ? "6": e.keyCode == 55 ? "7": e.keyCode == 56 ? "8": e.keyCode == 57 ? "9": e.keyCode == 58 ? ":": e.keyCode == 59 ? ";": e.keyCode == 60 ? "<": e.keyCode == 61 ? "=": e.keyCode == 62 ? ">": e.keyCode == 63 ? "?": e.keyCode == 64 ? "@": e.keyCode == 65 ? "A": e.keyCode == 66 ? "B": e.keyCode == 67 ? "C": e.keyCode == 68 ? "D": e.keyCode == 69 ? "E": e.keyCode == 70 ? "F": e.keyCode == 71 ? "G": e.keyCode == 72 ? "H": e.keyCode == 73 ? "I": e.keyCode == 74 ? "J": e.keyCode == 75 ? "K": e.keyCode == 76 ? "L": e.keyCode == 77 ? "M": e.keyCode == 78 ? "N": e.keyCode == 79 ? "O": e.keyCode == 80 ? "P": e.keyCode == 81 ? "Q": e.keyCode == 82 ? "R": e.keyCode == 83 ? "S": e.keyCode == 84 ? "T": e.keyCode == 85 ? "U": e.keyCode == 86 ? "V": e.keyCode == 87 ? "W": e.keyCode == 88 ? "X": e.keyCode == 89 ? "Y": e.keyCode == 90 ? "Z": e.keyCode == 91 ? "[": e.keyCode == 92 ? "\\": e.keyCode == 93 ? "]": e.keyCode == 94 ? "^": e.keyCode == 95 ? "_": e.keyCode == 96 ? "`": e.keyCode == 97 ? "a": e.keyCode == 98 ? "b": e.keyCode == 99 ? "c": e.keyCode == 100 ? "d": e.keyCode == 101 ? "e": e.keyCode == 102 ? "f": e.keyCode == 103 ? "g": e.keyCode == 104 ? "h": e.keyCode == 105 ? "i": e.keyCode == 106 ? "j": e.keyCode == 107 ? "k": e.keyCode == 108 ? "l": e.keyCode == 109 ? "m": e.keyCode == 110 ? "n": e.keyCode == 111 ? "o": e.keyCode == 112 ? "p": e.keyCode == 113 ? "q": e.keyCode == 114 ? "r": e.keyCode == 115 ? "s": e.keyCode == 116 ? "t": e.keyCode == 117 ? "u": e.keyCode == 118 ? "v": e.keyCode == 119 ? "w": e.keyCode == 120 ? "x": e.keyCode == 121 ? "y": e.keyCode == 122 ? "z": e.keyCode == 123 ? "{": e.keyCode == 124 ? "|": e.keyCode == 125 ? "}": e.keyCode == 126 ? "~": e.keyCode == 1040 ? "А": e.keyCode == 1041 ? "Б": e.keyCode == 1042 ? "В": e.keyCode == 1043 ? "Г": e.keyCode == 1044 ? "Д": e.keyCode == 1045 ? "Е": e.keyCode == 1046 ? "Ж": e.keyCode == 1047 ? "З": e.keyCode == 1048 ? "И": e.keyCode == 1049 ? "Й": e.keyCode == 1050 ? "К": e.keyCode == 1051 ? "Л": e.keyCode == 1052 ? "М": e.keyCode == 1053 ? "Н": e.keyCode == 1054 ? "О": e.keyCode == 1055 ? "П": e.keyCode == 1056 ? "Р": e.keyCode == 1057 ? "С": e.keyCode == 1058 ? "Т": e.keyCode == 1059 ? "У": e.keyCode == 1060 ? "Ф": e.keyCode == 1061 ? "Х": e.keyCode == 1062 ? "Ц": e.keyCode == 1063 ? "Ч": e.keyCode == 1064 ? "Ш": e.keyCode == 1065 ? "Щ": e.keyCode == 1066 ? "Ъ": e.keyCode == 1067 ? "Ы": e.keyCode == 1068 ? "Ь": e.keyCode == 1069 ? "Э": e.keyCode == 1070 ? "Ю": e.keyCode == 1071 ? "Я": e.keyCode == 1072 ? "а": e.keyCode == 1073 ? "б": e.keyCode == 1074 ? "в": e.keyCode == 1075 ? "г": e.keyCode == 1076 ? "д": e.keyCode == 1077 ? "е": e.keyCode == 1078 ? "ж": e.keyCode == 1079 ? "з": e.keyCode == 1080 ? "и": e.keyCode == 1081 ? "й": e.keyCode == 1082 ? "к": e.keyCode == 1083 ? "л": e.keyCode == 1084 ? "м": e.keyCode == 1085 ? "н": e.keyCode == 1086 ? "о": e.keyCode == 1087 ? "п": e.keyCode == 1088 ? "р": e.keyCode == 1089 ? "с": e.keyCode == 1090 ? "т": e.keyCode == 1091 ? "у": e.keyCode == 1092 ? "ф": e.keyCode == 1093 ? "х": e.keyCode == 1094 ? "ц": e.keyCode == 1095 ? "ч": e.keyCode == 1096 ? "ш": e.keyCode == 1097 ? "щ": e.keyCode == 1098 ? "ъ": e.keyCode == 1099 ? "ы": e.keyCode == 1100 ? "ь": e.keyCode == 1101 ? "э": e.keyCode == 1102 ? "ю": e.keyCode == 1103 ? "я": ""

    Нанотехнологии, хуле.

    eval, 14 Июля 2010

    Комментарии (7)
  10. JavaScript / Говнокод #3678

    +170

    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
    function varEnb(a) {
    n=true
    try {
    z=eval(a)
    } catch(e) {
    n=false
    }
    if(n==true){
    return true
    } else {
    return false
    }
    }

    Проверяем наличие переменной

    eval, 10 Июля 2010

    Комментарии (14)