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

    +155

    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
    ISQ.Data.checkString=function(e,f){
        var d=true;
        switch(f){
        case"email":
    	var a=/^[\w-_\&.]+\@([\w-_]+\.[\w-_]+){1,3}$/;
    	var g=new RegExp("[~!#$%^&*()=''\"\\/><?[]{}|]","g");
    	return(e.search(g)===-1)&&(e.match(a))&&(e!=="");
    	break;
        case"number":
    	var b=/^[-]?[0-9]+\.?[0-9]?$/;
    	return b.test(e);
    	break;
        case"username":
    	var c=new RegExp(".+@.+");
    	return(c.test(e));
    	break;
        case"url":
    	var c=new RegExp("^https?://([a-zA-Z0-9]+.){1,}[a-zA-Z0-9]+");
    	return(c.test(e));
    	break
        }
        return d
    }
    
    // Функция универсальной валидации.
    // (Но незадолго до того было еще и)
    
    ISQ.Data.getEmailAddress=function(e){
        var a=/[\w-_\&.]+\@[\w-_]+\.+[\w-_.]+/g;
        var d=e.match(a);
        if(d===null||d.length===0){
    	return null
        }
        var f=new RegExp();
        f.compile("[~!#$%^&*()=`'\"\\/><?[]{}|]","g");
        var b=new Array();
        for(var c=0;c<d.length;++c){
    	if(d[c].search(f)===-1){
    	    b.push(d[c])
    	}
        }
        return b
    }

    Еще одна творческая работа.

    wvxvw, 03 Июня 2012

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

    +158

    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
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    ISQ.Http.detectBroswer=function(){
        var b=navigator.appVersion;
        var f=navigator.userAgent;
        var a=0;
        ISQ.Http.browser={};
        if(navigator.appVersion.indexOf("Android")!==-1){
    	ISQ.Http.browser.app="android";
    	var c=navigator.appVersion.indexOf("Version/")+8;
    	var g=navigator.appVersion.substring(c,navigator.appVersion.indexOf(" ",c));
    	ISQ.Http.browser.version=parseInt(g);
    	ISQ.Http.browser.isMobile=true;
    	ISQ.Http.browser.usesViewport=true;
    	ISQ.Http.browser.isAndroid=true
        }
        else
        {
    	if(navigator.appVersion.indexOf("iPhone")!==-1){
    	    var g=navigator.appVersion.substring(0,navigator.appVersion.indexOf(" "));
    	    ISQ.Http.browser.app="safari";
    	    ISQ.Http.browser.version="iphone "+parseInt(g);
    	    ISQ.Http.browser.isMobile=true;
    	    ISQ.Http.browser.usesViewport=true;
    	    ISQ.Http.browser.isIPhone=true
    	}
    	else
    	{
    	    if(navigator.appVersion.indexOf("iPad")!==-1){
    		var g=navigator.appVersion.substring(0,navigator.appVersion.indexOf(" "));
    		/* identical to iPhone */
    	    }
    	    else
    	    {
    		if((a=b.indexOf("MSIE "))!==-1){
    		    ISQ.Http.browser.app="ie";
    		    a+=5;
    		    /* version check skipped */
    		}
    		else
    		{
    		    if(b.indexOf("Chrome")!==-1){
    			ISQ.Http.browser.app="chrome";
    			ISQ.Http.browser.version="0"
    		    }
    		    else
    		    {
    			if((a=b.indexOf("Safari"))!==-1){
    			    /* version check skipped */
    			}
    			else
    			{
    			    if((a=f.indexOf("Firefox/"))!==-1){
    				ISQ.Http.browser.app="ff";
    				/* version check skipped */
    			    }
    			    else
    			    {
    				if(f.indexOf("Opera/")!==-1){
    				    ISQ.Http.browser.app="opera";
    				    var c=f.indexOf("Version/");
    				    if(c===-1){
    					var d=f.indexOf(" ",6);
    					ISQ.Http.browser.version=f.substring(6,d)
    				    }
    				    else
    				    {
    					/* version check skipped */
    				    }
    				    ISQ.Http.browser.isOpera=true
    				}
    				else
    				{
    				    if(f.contains("Symbian")){
    					ISQ.Http.browser.app="symbian";
    					ISQ.Http.browser.version=1;
    					ISQ.Http.browser.full=ISQ.Http.browser.app+
    					    ISQ.Http.browser.version
    				    }
    				    else
    				    {
    					ISQ.Http.browser.app="ie";
    					ISQ.Http.browser.version="7.0;";
    					ISQ.Http.browser.isIE7=true
    				    }
    				}
    			    }
    			}
    		    }
    		}
    	    }
    	}
        }
        ISQ.Http.browser.full=ISQ.Http.browser.app+ISQ.Http.browser.version;
        f=null;
        b=null
    }

    Неизвестный автор ISQ фреймворка определяет браузер.
    Яваскрипт, Визуал Студио; Частное собрание сочинений.

    wvxvw, 03 Июня 2012

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

    +163

    1. 1
    2. 2
    3. 3
    ISQ.Html.scrollBarWidth=function(){
        return 17
    };

    С одной стороны, конечно, проблематично посчитать, но возможно же...

    wvxvw, 01 Июня 2012

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

    +160

    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
    ISQ.Tools.reverseArray=function(a){
        var d=a.length;
        for(var b=0;b<a.length;++b){
    	var e=0;
    	for(var c=1;c<d;++c){
    	    var f=a[e];
    	    a[e]=a[c];
    	    a[c]=f;
    	    ++e
    	}
    	--d
        }
    };

    Все тот же автор... зачем он все это делал - ума не приложу.

    wvxvw, 01 Июня 2012

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

    +161

    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
    ISQ.Tools.RGBtoHex=function(c,b,a){
        return ISQ.Tools.toHex(c)+ISQ.Tools.toHex(b)+ISQ.Tools.toHex(a)
    };
    
    ISQ.Tools.RGBtoHex2=function(a){
        a=a.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
        return "#"+ISQ.Tools.toHex(a[1])+ISQ.Tools.toHex(a[2])+ISQ.Tools.toHex(a[3])
    };
    
    ISQ.Tools.toHex=function(a){
        if(typeof(a)==="string"){
    	a=parseInt(a)
        }
        if(typeof(a)!=="number"||a===0){
    	return "00"
        }
        a=Math.max(0,a);
        a=Math.min(a,255);
        a=Math.round(a);
        return "0123456789ABCDEF".charAt((a-a%16)/16)+"0123456789ABCDEF".charAt(a%16)
    };

    ОК, это последний на сегодня, просто сил нет...

    wvxvw, 31 Мая 2012

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

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    checkParent: function () {
                var p = this.el.parent().length > 0 ? this.el.parent()[0] : this.el.parent(),
                    tp = this.parent && this.parent.length > 0 ? this.parent[0] : this.parent;
    
                return p !== tp;
            }

    wtf?

    nur, 31 Мая 2012

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

    +157

    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
    ISQ.Tools.getNumber=function(c,a){
        var d=typeof(c);
        if(typeof(c)==="number"){
    	return c
        }
        if(typeof(c)!=="string"){
    	c=c.toString()
        }
        var b;
        if(c.contains(".")){
    	b=parseFloat(c)
        }
        else
        {
    	b=parseInt(c)
        }
        if(isNaN(b)){
    	return typeof(a)==="number"?a:NaN
        }
        return b
    };

    Того же автора, что и предыдущий пост:
    Борьба идиота и динамической типизации, где в итоге динамическая типизация все же побеждает, но какой ценой...

    wvxvw, 31 Мая 2012

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

    +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
    79. 79
    80. 80
    String.prototype.startsWith=function(b){
        if(this.length<b.length){
    	return false
        }
        for(var a=0;a<b.length;++a){
    	if(this.charAt(a)!==b.charAt(a)){
    	    return false
    	}
        }
        return true
    };
    
    String.prototype.endsWith=function(b){
        if(this.length<b.length){
    	return false
        }
        var c=b.length-1;
        for(var a=this.length-1;a>this.length-1-b.length;--a){
    	if(b.charAt(c--)!==this.charAt(a)){
    	    return false
    	}
        }
        return true
    };
    
    String.prototype.contains=function(a){
        return this.indexOf(a)!==-1
    };
    
    String.prototype.LastIndexOf=function(d,c){
        if(this.length===0||d===null){
    	return -1
        }
        if(d.length>this.length){
    	return -1
        }
        if(isNaN(c)){
    	c=this.length-d.length
        }
        var a=false;
        for(var b=c;b>=0;--b){
    	a=true;
    	for(var e=0;e<d.length;++e){
    	    if(this.charAt(b+e)!==d.charAt(e)){
    		a=false;
    		break
    	    }
    	}
    	if(a){
    	    return b
    	}
        }
        return -1
    };
    
    String.prototype.LastIndexOf_char=function(a){
        for(var b=this.length-1;b>=0;--b){
    	if(this.charAt(b)===a){
    	    return b
    	}
        }
        return -1
    };
    
    String.prototype.setCharAt=function(b,a){
        if(b>this.length-1){
    	return str
        }
        return this.substr(0,b)+a+this.substr(b+1)
    };
    
    String.prototype.countCharAppearances=function(a){
        var b=0;
        for(var c=0;c<this.length;++c){
    	if(this.charAt(c)==a){
    	    ++b
    	}
        }
        return b
    };

    Сорри, что много буков, но тут каждую функцию можно воспринимать как отдельное произведение.
    Разбираю бред какого-то безымянного идиота :(

    wvxvw, 31 Мая 2012

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

    +155

    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
    var nav = document.getElementById('navigation');
    
    var properties = {
    	'display' : 'block',
    	'position' : 'fixed',
    	'top' : '5px',
    	'backgroundColor' : '#F2F0E3',
    	'opacity' : '.6',
            ........
            //Много всяких свойств
            ........
    	'border' : '2px solid #DDDDDD',
    	'borderRadius' : '1em',
    	'padding' : '5px',
    	'zIndex' : '1'
    }
    
    for (var i in properties) {
    	nav.style[i] = properties[i];
    }

    Послать бы автора на три буквы: CSS

    vistefan, 30 Мая 2012

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

    +142

    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
    $("#idSave").click(function () {
            var img_src = $("#idImg").attr('src');
            var web_src = $("#idFromWebSite").attr('href');
            var pamp_id = $.cookie('pamp');
            var title_src = $("#idTitle").val();
            var brand_src = $("#idBrand").val();
            var tags_src = $("#idTags").val();
            var price_src = $("#idPrice").val();
            var privacy_src = $("#idPrivacy").val();
    
            var data = new Object();
            data.Url = img_src;
            data.UrlFrom = web_src;
            data.PampID = pamp_id;
            data.Title = title_src;
            data.Brand = brand_src;
            data.Tags = tags_src;
            data.Price = price_src;
            data.Privacy = privacy_src;
    
            $.ajax({
                url: url,
                type: "POST",
                dataType: "json",
                data: data,
                success: successProductSave,
                error: errorProductSave
            });
        });

    - $().serialize() and $().serializeArray() ?? WTF ??
    - RTFM ....

    DarkThinker, 25 Мая 2012

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