За последние 24 часа нас посетили 20852 программиста и 1644 робота. Сейчас ищут 2079 программистов ...

Выражение для проверки отсутствия всех нулей

Тема в разделе "Регулярные выражения", создана пользователем Borisk, 30 ноя 2021.

  1. Borisk

    Borisk Новичок

    С нами с:
    30 ноя 2021
    Сообщения:
    2
    Симпатии:
    0
    Доброе время суток.
    Нужно составить регулярку для проверки кода ТО.
    Есть шаблон 1ХХХХYYY, XXXX могут быть любые цифры, а вот YYY не должны быть нулями все сразу. То есть могут быть 005, 500, 440, 401, а 000 не могут.

    Придуманное выражение
    ^1\d{4}(00[1-9]|0[1-9]0|[1-9]00|[1-9]{3})$
    не до конца решает задачу.

    Нужна помощь. Спасибо!
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
  3. alexphp

    alexphp Активный пользователь

    С нами с:
    5 дек 2019
    Сообщения:
    98
    Симпатии:
    12
    Не будет ли такое решение более простым и элегантным, чем поиск регулярных выражений?
    PHP:
    1. $x = 1ХХХХYYY; // подставьте цифры вместо X и Y
    2. if ($x % 1000 === 0) {
    3.     echo "YYY - все нули сразу";
    4. }
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    Если ещё добавить проверку на то, что $x - целое число.
     
  5. alexphp

    alexphp Активный пользователь

    С нами с:
    5 дек 2019
    Сообщения:
    98
    Симпатии:
    12
    С помощью функции is_int($x)?
     
  6. Borisk

    Borisk Новичок

    С нами с:
    30 ноя 2021
    Сообщения:
    2
    Симпатии:
    0