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

    +169

    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
    function echeck(str) {
      var at="@"
      var dot="."
      var lat=str.indexOf(at)
      var lstr=str.length
      //  var ldot=str.indexOf(dot)
      if (str.indexOf(at)==-1){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(at,(lat+1))!=-1){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(dot,(lat+2))==-1){
        alert("Invalid E-mail ID");
        return false;
      }
      if (str.indexOf(" ")!=-1){
        alert("Invalid E-mail ID");
        return false;
      }
      return true;
    }

    если честно, дочитал где-то только до 15 строки

    Запостил: marg, 30 Сентября 2011

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

    • Может ему религия не позволяет регулярки использовать
      Ответить
      • Скорее всего, человек просто не знал об их существовании
        Ответить
      • E-mail очень трудно проверить регулярными выражениями (регулярное выражение получится в несколько сотен символов), так что подход автора кода в целом лучше, потому что хотя бы в правильном направлении. Код плохой потому, что одна и та же строчка скопирована много раз.
        Ответить
    • А зачем вообще эта валидация емэйла регулярными выражениями?
      Это все равно не дает ни какой гарантии правильности емэйла.
      Любой бот умеет вводить значения типа [email protected] в поля для емэйла.
      Как по мне, так достаточно проверить наличие @ и . символов. (последний . символ - после @).
      Ответить
      • Другой вопрос, как это реализовано здесь.
        Ответить
      • Некоторую гарантию _правильности_ дает. Другое дело - существование адреса.
        Ответить
        • особенно меня прикалывает проверка на домен первого уровня через список. становится жутко весело, когда список ВНЕЗАПНО оказывается устаревшим.
          Ответить
    • показать все, что скрытоvanished
      Ответить

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