5

フォームの数値フィールド (価格) を検証したいと思います。
このようにしてフォーマットを検証しようとしましたが、10.00問題ありません。

$pattern = '/^\d+(:?[.]\d{2})$/';

if (preg_match($pattern, $_POST['price']) == '0') {
   echo "ERROR";
   exit;
}

ここで、 とのようなフィールド形式を同時に検証したいと思い10.00ます10。どうすればこれを行うことができますか?

4

3 に答える 3

13

あなたの新しいパターン:

$pattern = '/^\d+(\.\d{2})?$/';

検証します:

10
10.00

05.00 などの先行ゼロの数値を無効にする場合は、次のパターンが役立ちます。

$pattern = '/^(0|[1-9]\d*)(\.\d{2})?$/';
于 2013-10-08T15:15:12.050 に答える