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

    +166.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (document.getid.txtemail.value.search("@") == -1)
    {
    	alert("This is not a valid email account.");
    	return(false);
    }
    //check for valid email address required.

    Нашел вот тут в одном индусском проекте, валидакия имейла XD

    Запостил: guest, 23 Июля 2009

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

    • ыыы:
      БЛя, смешно так, что даже лень писать нормальное решение )))))
      Ответить
    • Вроде нормально. Избавляет от ошибочного ввода, а если полностью валидировать, то намного больше строк получается без сторонних библиотек. Я ещё на длинну обычно проверяю. А на сервере как положенно конечно, хотя не вижу ничего плохого если email не существующий. Думаю пользователи гараздо чаще ошибаются в email-ах которые проходят валидацию. Например вместо ivan@... ivna@...
      то-есть немногим поможет более крутая валидация
      Ответить
    • да вообще не понятно зачем заставлять вводить пользователя мыло

      если он не хочет его вводить то введет все равно хрень
      если хочет то такая валидация вполне укажет ему на ошибки, больше и не нужно
      Ответить
    • var reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
      if(!reg.test(mail)) alert("неверно указан email");

      вот примерно так.
      регулярку нашел на просторах интернета
      Ответить
      • черт. не залогинился перед ответом :)
        Ответить
      • А теперь засеки время работы твоего решения и оригинального. Как сказали выше, кто не хочет воодить своё мыло, всё равно не введёт.
        Ответить
        • и что засекать? разницу в миллисекундах?
          если не хочеш вводить мыло. не вводи вообще.
          на моем дровалете код выполняется мгновенно.
          и код позволяет полность проверить что введено именно мыло
          Ответить
      • А я где-то такую регулярку нашёл, по всем там RFC и прочим правилам:
        ^[\x20-\x2D\x2F-\x7E]+(\.[\x20-\x2D\x2F-\x7E]+)*@(([a-z0-9]([-a-z0-9]*[a-z0-9]+)?){1,63}\.)+[a-z0-9]{2,6}$
        Ответить
        • а вот мой вариант:
          ^[^.][a-zA-Z0-9.]+[^.]@[^.][.a-zA-Z0-9]+[^.][.][a-zA-Z]{2,4}$
          писал пару лет назад :)
          Ответить

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