Мне нужна функция, которая проверяет строку, которая является в основном ценой предмета. И это должно быть как 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; }
Это будет работать лучше всего по цене.
Не забывайте, что вы не должны разрешать цены, начиная с более чем одного 0, например 000,99 или 0999,99
if(preg_match('/^(?:0|[1-9]\d*)(?:\,\d{2})?$/', $number))
{
return true;
}
else
{
return false;
}
Попробуй это....
<?php
$regex = '/^[\d]{1,5},[\d]{2}$/';
$price = '12321,12';
var_dump( preg_match($regex, $price) );