Субъективный Си / Говнокод #19347 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
NSError* utilitiesCheckEmail(NSString* string)
{
    NSInteger email_symbol_count=0;
    NSInteger pos_email_symbol=0;
    NSInteger pos_point=0;
    NSInteger count=string.length;

    
    if(count!=0)
    {
        unichar buffer[count];
    
        [string getCharacters:buffer];
        
        for(NSInteger i=0;i<count;i++)
        {
            unichar ch=buffer[i];
            
            if( !( (ch>='a') && (ch<='z') ) &&  !( (ch>='A') && (ch<='Z') ) && !( (ch>='0') && (ch<='9') ) && (ch!='_') && (ch!='-') )
            {
                switch (ch)
                {
                    case '@':
                    {
                        email_symbol_count++;
                        pos_email_symbol=i;
                        
                        break;
                    }
                        
                    case '.':
                    {
                        pos_point=i;
                        break;
                    }
                        
                    default:
                        return [NSError errorWithDomain:NULL error:eErrorEmailInvalidFormat];
                }
            }
        }
        
        if(  (email_symbol_count==1) && (pos_point!=0) && (pos_point>pos_email_symbol) && ((pos_point+1)<count) )
            return NULL;
    }
    
    return [NSError errorWithDomain:NULL error:eErrorEmailInvalidFormat];
}

Валидируем email

Запостил: def def, (Updated )

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

  • Какая гадость эта ваша яблосишечка.

    А в целом не такое уж и говно, лучше чем RFC-compliant regex.
    Ответить
  • Я выдал эту тираду на одном дыхании. Ещё вчера, когда я нёс его на руках, мне в голову пришла жуткая мысль. Что если его не станет, а я так и не нашёл сил рассказать о моих чувствах, а, как дурак, полез с поцелуем.
    Ответить
  • Хитрые глазки девушки так смотрели на меня, что я подумал, что она хочет меня укусить. Я уже замечал её томные взгляды в мою сторону, юбки, которые становились всё короче, и специально выроненные ею учебники, для того чтобы нагнуться так, чтобы было отлично заметно содержание её глубокого декольте. Но я упрямо игнорировал эти выпады. Видимо, теперь она решила подключить тяжёлую артиллерию.
    Ответить

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8