2014-11-18 4 views
0

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

Пример:

99,99 € == ХОРОШИЕ

99.9 € == BAD

999999,99 € == BAD

С уважением!

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

+1

возможно дубликат [Как проверить, если введенное значение валюты] (HTTP: //stackoverflow.com/questions/4982291/how-to-check-if-an-entered-value-is-currency) – NateDSaint

+0

второй ХОРОШИЙ –

+0

не оставлять комментарии, проголосовать –

ответ

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)); 
Смежные вопросы