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

    +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
    if (!jQuery('#email').attr('value')){
                jQuery('#email').css('border', '1px solid red');
                jQuery('div.errors').append('<p>Не указан "E-Mail"</p>');
                error=true;
            }
            else{
                email=jQuery('#email').attr('value');
                if ((email.length<8) || (email.search(/[а-яёЁ,~><|\/*#№`!"'$:;%^&?)(_=+]/i)+1) || (email.indexOf(' ')+1) || (email.indexOf('--')+1) || (email.indexOf('-.')+1) || (email.indexOf('.-')+1) || (email.indexOf('\\')+1) || (email.indexOf('..')+1) || (email.indexOf('.')==0) || (email.indexOf('-')==0) || (email.indexOf('@')==0) || (!(email.indexOf('@')+1)) || ((email.indexOf('@')!=email.lastIndexOf('@')) && (email.lastIndexOf('@')+1)) || (email.indexOf('@')>email.lastIndexOf('.')) || (!(email.lastIndexOf('.')<(email.length-2)))){
                    jQuery('#email').css('border', '1px solid red');
                    jQuery('div.errors').append('<p>E-mail указан некорректно</p>');
                    error=true;
                }
                else jQuery('#email').attr('style', null);
            }

    Функция проверки Email на валидность.

    Regexp для слабых.

    Cherrionella, 13 Августа 2013

    Комментарии (40)
  2. PHP / Говнокод #13600

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function isError() {
            if($this->error!="") return true;
            else return false;
        }
     function isOk() {
            if($this->error=="") return true;
            else return false;
        }

    Зато мы используем ООП

    Tairesh, 13 Августа 2013

    Комментарии (0)
  3. C# / Говнокод #13599

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    private readonly bool[] showDetails = new bool[20]
                                                      {
                                                          false, false, false, false, false, false, false, false, false, false,
                                                          false, false, false, false, false, false, false, false, false, false
                                                      };

    taburetka, 12 Августа 2013

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    this.startAdLoading = function(callback) {
    this.adCallback = callback;
    
    Array.prototype.remove = function(from, to) {
      var rest = this.slice((to || from) + 1 || this.length);
      this.length = from < 0 ? this.length + from : from;
      return this.push.apply(this, rest);
    };
    ...
    }

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

    wvxvw, 12 Августа 2013

    Комментарии (131)
  5. C# / Говнокод #13596

    +133

    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
    private string LineTabsCRLFToSpaces(string line)
            {
                string ret_line = "";
                if (line != null)
                {
                    //    throw new ArgumentNullException("line");
                    if (line.Length == 0) return string.Empty;  // Пустая входная строка
                    for (int i = 0; i < line.Length; i++)
                    {
                        char ch = line[i];
                        if (ch == '\t' || ch == '\r' || ch == '\n')
                            ret_line = ret_line + " ";
                        else
                            ret_line = ret_line + ch;
                    }
                }
                return ret_line;
            }

    - line.Replce()?
    - Не, не слышал!

    nolka4, 12 Августа 2013

    Комментарии (38)
  6. Pascal / Говнокод #13595

    +87

    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
    96. 96
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-зашифрованные прокси:*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    <TD id="address">
    <script language=javascript>
    <!--
    					proxy(3,'28','70','216','172',80);
    					proxy(4,'70','216','172','28',80);
    					proxy(1,'103','10','59','30',8080);
    					proxy(2,'10','59','30','103',80);
    					proxy(3,'251','151','101','109',80);
    					proxy(4,'83','209','222','25',8080);
    					proxy(1,'101','109','251','89',80);
    					proxy(2,'50','26','5','101',8080);
    					proxy(3,'220','89','186','93',8000);
    					proxy(4,'158','98','190','250',8090);
    					proxy(1,'92','39','185','18',80);
    					proxy(2,'8','240','44','5',8080);
    					proxy(3,'127','84','124','81',8080);
                                                           
                                                                   [...]
    // -->
    </script>
    				</TD>
    
    //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-Свиток-расшифровщик*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
    
    function proxy(mode,arg1,arg2,arg3,arg4,port){
    	var ret;
    	switch(mode) {
    		case 1:
    			ret=arg1+"."+arg2+"."+arg3+"."+arg4+":"+port+"<BR>";
    			break;
    		case 2:
    			ret=arg4+"."+arg1+"."+arg2+"."+arg3+":"+port+"<BR>";
    			break;
    		case 3:
    			ret=arg3+"."+arg4+"."+arg1+"."+arg2+":"+port+"<BR>";
    			break;
    		case 4:
    			ret=arg2+"."+arg3+"."+arg4+"."+arg1+":"+port+"<BR>";
    			break;
    	}
    	document.write(ret);
    }
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
    
    var
      StartPos : Integer;
      MyText ,temp: string;
      memorystream:tmemorystream;
      anolink:string;
      i:integer;
      ccount:integer;
      counter:string;
      endpos:integer;
      steg,eteg:string;
      b:integer;
      mode,arg1,arg2,arg3,arg4,port:string;
    begin
      steg:='proxy(';
      eteg:=');';
      memorystream:=tmemorystream.create;
      idhttp1.Request.UserAgent:='Mozilla/5.0 (Windows NT 5.1; rv:19.0) Gecko/20100101 Firefox/19.0';
      idhttp1.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
      idhttp1.request.AcceptLanguage:='ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3';
      idhttp1.Request.AcceptEncoding:='ngnix';
      idhttp1.Request.Connection:='keep-alive';
      idhttp1.Get('http://anonymousinet.com/index.php',memorystream);
      memorystream.Position:=0;
      mytext:=memorystreamtostring(memorystream);
      mytext:=utf8toansi(mytext);
      memorystream.Clear;
      startpos:=0;
      While true do
      begin
        startPos := PosEx(steg, MyText, StartPos + 1);
        if StartPos > 0 then
        begin
          temp:=copy(mytext,startpos+length(steg),length(mytext));
          b:=pos(eteg,temp);
          if b >0 then
          temp:=copy(temp,1,b-1);
          temp:=trim(temp);
          temp:=stringreplace(temp,'''','',[rfreplaceall]);
          mode:=stringfield(temp,',',1);
          arg1:=stringfield(temp,',',2);
          arg2:=stringfield(temp,',',3);
          arg3:=stringfield(temp,',',4);
          arg4:=stringfield(temp,',',5);
          port:=stringfield(temp,',',6);
          smemo1.lines.add(proxy(mode,arg1,arg2,arg3,arg4,port));
        end
        else
        Break;
      end;
    
        end;

    Зловонная попытка защитить прокси от парсинга. Гм, как бы помягче,гм, неудачная...

    Stertor, 11 Августа 2013

    Комментарии (3)
  7. C++ / Говнокод #13594

    +77

    1. 1
    float tlen = sqrtf(top[0]*top[0]+top[1]*top[1]+top[2]*top[2]);

    Всё в мире тлен и безысходность. В том числе и код.

    Sauron, 10 Августа 2013

    Комментарии (69)
  8. Pascal / Говнокод #13593

    +97

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Сегодня был приятно удивлен тем, что цикл
    
    for i:=0 to memo1.lines.count -1 do
    ...
    
    приостанавливает работу, когда идет обращение к мемо (пользователь выделяет текст или печатает в этом мемо) до тех пор, пока идет обращение. 
    Очевидно, это такая фишка компилятора. Приятно, когда компилятор прикрывает спину.

    Stertor, 10 Августа 2013

    Комментарии (85)
  9. Куча / Говнокод #13592

    +124

    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
    <!-- Вот люблю я HTML. Смотри, есть 2 страницы, которые лепятся скриптом в одну. Нам нужно скрыть часть второй на первой. -->
    <!-- Как поступит нормальный вебмастер? Правильно, напишет скрипт, и доработает движок, чтоб не шёл инклюд в нужных местах. -->
    <!-- Как поступлю я? Я добавлю лишний тег закрытия коммента в эту самую вторую страницу, а в нужном месте открою коммент, чтоб -->
    <!-- он закрыл эту часть. Учись. Ох, и понаписал... --> 
    <!--  
    
    </table> 
    <table width="630" border="1" class="main">
    <tr><td>
    <form name="form">
    <select name="site" size="1" class="menu_opt">
    <option class="blu" value="">Навигация по сайту
    <option class="red" value="index.html">Главная
    
    ....
    
    </select>
    <input type=button value="Go!" onClick="javascript:formHandler(this)">
    </form> 
    </td></tr>
    </table>
    <!-- 1 -->

    Как скрыть менюху внизу? Да очень просто, хоть и не валидно. Такой ужас удалось найти в одном из обслуживаемых порталов.

    lionovsky, 10 Августа 2013

    Комментарии (4)
  10. Си / Говнокод #13591

    +124

    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
    bool getDimensionForKey( const char *key, unsigned int *value, config_file_t *config, unsigned int dimension_max, unsigned int object_size )
    {
    	const char *val;
    	
        int size = 0;
    	int sum = 0;
        
    	bool negative = false;
    	bool percentage = false;
    	
        if (getValueForKey(key, &val, &size, config))
    	{
    		if ( size )
    		{
    			if (*val == '-')
    			{
    				negative = true;
    				val++;
    				size--;
    			}
    			
    			if (val[size-1] == '%')
    			{
    				percentage = true;
    				size--;
    			}
    			
    			// convert string to integer
    			for (sum = 0; size > 0; size--)
    			{
    				if (*val < '0' || *val > '9')
    					return false;
    				
    				sum = (sum * 10) + (*val++ - '0');
    			}
    			
    			if (percentage)
    				sum = ( dimension_max * sum ) / 100;
    			
    			// calculate offset from opposite origin
    			if (negative)
    				sum =  ( ( dimension_max - object_size ) - sum );
    			
    		} else {
    			
    			// null value calculate center
    			sum = ( dimension_max - object_size ) / 2;
    			
    		}
    		
    		*value = (uint16_t) sum;
    		return true;
    	}
    	
    	// key not found
        return false;
    }

    Cтригозаврус функодавус ...

    Stealth, 09 Августа 2013

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