Как написать preg_match для цены

0

Мне нужна функция, которая проверяет строку, которая является в основном ценой предмета. И это должно быть как 1-5 символов, 2 символа.

Пример:

99,99 € == GOOD

99,9 € == BAD

999999,99 € == BAD

С уважением!

if (preg_match("~^\\d{1,5}+(:\\,\\d{1,2})$~", $number)) { return true; } else { return false; }

  • 1
    возможный дубликат Как проверить, является ли введенное значение валютой
  • 0
    второй хороший
Показать ещё 2 комментария
Теги:
string
function
preg-match
preg-match-all

2 ответа

0
Лучший ответ

Это будет работать лучше всего по цене.

Не забывайте, что вы не должны разрешать цены, начиная с более чем одного 0, например 000,99 или 0999,99

if(preg_match('/^(?:0|[1-9]\d*)(?:\,\d{2})?$/', $number))
  {
    return true;
  }
  else
  {
    return false;
  }
0

Попробуй это....

    <?php
    $regex = '/^[\d]{1,5},[\d]{2}$/';
    $price = '12321,12';
    var_dump( preg_match($regex, $price) );

Ещё вопросы

Сообщество Overcoder
Наверх
Меню