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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?
    // ...
    preg_match('/^[0-9]{1,}$/', $value)     // positive integer
                            || (        // or negative integer
                                (substr($value, 0, 1) === '-')
                                && preg_match('/^[0-9]{1,}$/', substr($value, 1))
                            )
    
    ?>

    В битриксе так и не выучили регулярки..

    Запостил: belukov, 12 Марта 2015

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

    • Это потроха битрикса или сапопис поверх?
      Ответить
    • Можно было же просто $value >= 0 или $value < 0 ?
      Ответить
      • не, там видимо хотели отсечь варианты типа '123zzz'.
        что-то вроде is_numeric с возможным минусом в начале.
        Ответить
    • Прикол в том, что {1,} лишнее
      Ответить
      • Вообще то нет - если убрать {1,} то будут проходить только числа состоящие из 1 цифры.
        правильная - '/^\d+$/'
        Ответить
        • а если так:
          '/^-?\d+$/'
          ,то вообще можно сильно сэкономить на электричестве за счет второй регулярки.
          Ответить
          • А как ты тогда узнаешь отрицательное число или нет?!
            Ответить
            • Так можно чекбокс на форме сделать
              Ответить
              • А если пользователь чекнет положительное, а напишет отрицательное, а оно проверку продет по регулярке?! Тогда уж чекбокс и 2 регулярки
                Ответить

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