如何为价格编写preg_match

时间:2014-11-18 21:55:03

标签: php string function preg-match preg-match-all

我需要一个检查字符串的功能,它基本上是一个项目的价格。它必须是1-5个字符,2个字符。

示例:

99,99€==好的

99,9€==不好

999999,99€== BAD

问候!

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

2 个答案:

答案 0 :(得分:0)

试试这个......

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

答案 1 :(得分:0)

这对价格最有效。

不要忘记你不能允许价格从超过0开始,如000,99或0999,99

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