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

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var numb = '0123456789';
    var lwr = 'abcdefghijklmnopqrstuvwxyz';
    var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    
    function isValid(parm,val) {
    if (parm == "") return true;
    for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) == -1) return false;
    }
    return true;
    }

    http://javascript.about.com/library/blvalid02.htm

    Вырезка из шапки:
    Javascript does not contain functions that test specifically for alphabetic or numeric content but we can easily provide these functions for ourselves...

    Запостил: denis90, 06 Декабря 2011

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

    • ПЫ.СЫ.
      В качестве val передаются первые 3 строки или их конкатенации в зависимости от случая
      Ответить
    • Похоже что у человека случится разрыв шаблона, когда он узнает про регекспы :(
      Ответить
    • чё ж не по чаркоду-то...
      Ответить
    • кроме названного, у меня придирка к 6ой строке: а вдруг null или даже undefined?
      Ответить
      • Тогда в ней нет неправильных символов, потому возвращаем true.
        Ответить
        • да, но проверку пройдет, а дальше навернется, не?
          Ответить
          • Смотря как дальше будет использоваться строка parm. Но если она пустая или вообще не строка — то плохих символов в ней нет, видимо такова логика. Лучше было назвать IsNotInvalid.
            Ответить
    • > val.indexOf(parm.charAt(i),0)
      ебануться!!!
      положение в строке2 символа, находящегося в позиции i в строке1
      А какой тут геометрический смысл?
      Ответить
      • Проверяет, все ли символы из val встречаются в parm. Типа ищет невалидные.
        Ответить
        • Только наоборот.
          То есть нет ли в parm символов, которых нет в val.
          Короче, val — алфавит валидных символов.
          Ответить

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