1. PHP / Говнокод #11928

    +44

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function validate_mail($email) { // проверить вызов
      if(strlen($email) < 7 || !preg_match("/^[_\.0-9a-z\-]+@([0-9a-z][0-9a-z\-]+\.)+[a-z]{2,6}$/i",$email)) {
        die("Ошибка в адресе Email. Вернитесь назад и исправьте.");
      } else {
        return $email;
      }
    }

    Валидация в Dveezhok)

    Запостил: inso, 16 Октября 2012

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

    • [email protected] не катит и кастомные домены первого уровня да еще и die в нагрузку
      Ответить
      • > кастомные домены первого уровня
        Не нужны.

        bormand, забывший дома пароль
        Ответить
        • а если в локалке?
          Ответить
          • > а если в локалке?
            Ну да, про локалку что-то не подумал.

            К тому же, в локалке, самостоятельная регистрация, ИМХО, не особо актуальна. Там админ или менеджер всех кого надо зарегит. Ну, по крайней мере, у нас так.
            bormand, забывший дома пароль
            Ответить
    • Так оно еще и невалидные е-майлы пропускает (кроме того, что много валидных не пропускает).
      например [email protected] - не валидный. Ну да и много еще разных вариантов. Хз. электропочта в каком-то смысле еще хуже чем даты, только не так часто обращают внимание.
      Ответить
    • filter_var() в помощь.
      Ответить
    • 1. Домены, начинающиеся с цифры, не пройдут (пример: 2ch.so).
      2. Домены третьего и более высоких уровней не пройдут (пример: yahoo.co.uk).
      2. Домены, содержащие национальные символы, не пройдут.
      3. Домены, закодированные в Punycode (типа XN--P1AI), не пройдут.

      Ваш кэп, то есть inkanus-gray, которому лень логиниться.
      Ответить
      • Даже не домены. Не помню стандарта точно, но почту можно завести с умляутами, например. Так что schrö[email protected] пойдёт нафиг.
        Ответить
        • В прошлом веке были инструкции по кросс-постингу из Интернета в Compuserve, BITNET, UUNET, X.400 и т. п. Там в логине могли использоваться знаки препинания, а сам логин получался километровым.
          Ответить
      • > Домены, начинающиеся с цифры, не пройдут
        Это конечно получилось случайно, но в полном соответствии с RFC952 :-)
        Ответить

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