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

    +158

    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
    $("#jOnline_phone").keypress(function(e) {
                        $("#jError_Onlineform").show().text(e.keyCode);
                        if(
                             8  != e.keyCode &&
                             13 != e.keyCode &&
                             32 != e.keyCode &&
                             43 != e.keyCode &&
                             48 != e.keyCode &&
                             49 != e.keyCode &&
                             50 != e.keyCode &&
                             51 != e.keyCode &&
                             52 != e.keyCode &&
                             53 != e.keyCode &&
                             54 != e.keyCode &&
                             55 != e.keyCode &&
                             56 != e.keyCode &&
                             57 != e.keyCode &&
                             58 != e.keyCode
                        ) {
                             return false;
                        }
                   });

    Срочно надо было написать проверку в поле, что-бы вводить можно было, только цифры и знак «+», написал этот ужас) И понял что проще было в регулярном выражении реализовать, ушёл переписывать)))

    Запостил: nethak, 27 Октября 2011

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

    • > И понял что проще было в регулярном выражении реализовать
      уж лучше сабж.
      Ответить
      • Не много подправить != e.keyCode &&
        13 != e.keyCode &&
        32 != e.keyCode &&
        43 != e.keyCode && 48 > e.keyCode && 58 < e.keyCode Можно и оставить
        Ответить
    • а в хроме, при вводе с "цифровой" клавиатуры будет небольшой казус
      так как там значения от 95 до 106
      Ответить
    • > 56 != e.keyCode
      Одобряет Йода это.
      Ответить
    • А тебе не побоку что там вводят в поле?
      $msisdn = preg_replace("([^0-9]+)", "", $msisdn);
      а потом уже валидируй как душа пожелает.
      Ответить
    • Ребят расслабьтесь, там уже давно осталось всего 4 строки)
      Ответить
    • пока этот код писал не окосел?
      Ответить
    • может
      if (e.keyCode in [8, 13, 32, ...])
      так можно?
      Ответить

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