HOME > > > > >

数値チェック

Validate::number($number, $options = array())

$number:String
バリデート対象の数字
$options => Array
decimal => 許可する小数点の形式「,」カンマ、「.」ドット「,.」カンマとドットが指定可能
dec_prec => 許可する少数点以下の数
min => 許可する最小値
max => 許可する最大値

Validate::number($number, $options = array())のテスト

/* 数値入力 */

/* 実行結果 */

サンプル確認

コード

PHP

  1. <?php$noYes = array("NO", "YES");
  2.  
  3. $numbers = array(
  4.     array(8),
  5.     array("-8"),
  6.     array(-8),
  7.     array("-8,", "decimal"=>","),
  8.     array("-8.0", "decimal"=>","),
  9.     array("-8,0", "decimal"=>",", "dec_prec"=>2),
  10.     array(8.0004, "decimal"=>",", "dec_prec"=>3),
  11.     array(8.0004, "decimal"=>".", "dec_prec"=>4),
  12.     array("-8", "min"=>1, "max"=>9),
  13.     array("-8", "min"=>-8, "max"=>-7),
  14.     array("-8.02", "decimal"=>".", "min"=>-8, "max"=>-7),
  15.     array("-8.02", "decimal"=>".", "min"=>-9, "max"=>-7),
  16.     array("-8.02", "decimal"=>".,","min"=>-9, "max"=>-7)
  17. );
  18.  
  19. foreach($numbers as $data) {
  20.     $number = array_shift($data);
  21.     echo "$number (";
  22.     foreach ($data as $key=>$val) {
  23.     echo "{$key}=>{$val} ";
  24.     }
  25.     echo "): ".$noYes[Validate::number($number,$data)]."<br />";
  26. }?>

実行結果

8 (): YES
-8 (): YES
-8 (): YES
-8, (decimal=>, ): NO
-8.0 (decimal=>, ): NO
-8,0 (decimal=>, dec_prec=>2 ): YES
8.0004 (decimal=>. dec_prec=>3 ): NO
8.0004 (decimal=>. dec_prec=>4 ): YES
-8 (min=>1 max=>9 ): NO
-8 (min=>-8 max=>-7 ): YES
-8.02 (decimal=>. min=>-8 max=>-7 ): NO
-8.02 (decimal=>. min=>-9 max=>-7 ): YES
-8.02 (decimal=>., min=>-9 max=>-7 ): YES