以下の関数は、文字列が整数であるかどうかをチェックします。つまり、数字のみを含む必要があります。ただし、number が負かどうかはチェックしません (負の数は整数であるため、true を返す必要があります)。
function validateInteger($value)
{
//need is_numeric to avoid $value = true returns true with preg_match
return is_numeric($value) && preg_match('/^\d+$/', $value);
}
テストを実行して結果を得ました:
'12.5' => FALSE
12.5 => FALSE
'a125' => FALSE
'125a' => FALSE
'1a2.5' => FALSE
125 => TRUE
'abc' => FALSE
false => FALSE
true => FALSE
'false' => FALSE
'true' => FALSE
null => FALSE
'null' => FALSE
'1231' => TRUE
-1231 => FALSE (SHOULD RETURN TRUE)
'-1231' => FALSE (SHOULD RETURN TRUE)
使いたくありませんitnval() < 0
。負の数もチェックするには、正規表現を使用したいと思います。
ありがとう
編集:
validateFloat
指定された数値が浮動小数点数である場合に true を返す関数もあります。つまり、数字とドットのみを含めることができます。これにも同じロジックを適用して、負の浮動小数点数に対してtrue を返すようにする必要があります