1. Objective C / Говнокод #19347

    −366

    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
    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, 25 Января 2016

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

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

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

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