初めてのシステムと日記

システムも日記も初めてです。

数値のチェック

preg_match('/^[0-9]+$/', $hogehoge)

今まで10進整数値のチェックにis_numeric関数を使ってました。
数値または数値形式の文字列である場合にTRUE、それ以外の場合にFALSEを返す。


ただこの関数だと以下の文字列もTRUEを返してしまいます。
 * 0xabcd
 * 12.34
 * 12e34
 * -.12e-34
整数以外や10進数以外の値もTRUEになってしまう。

なので整数チェックをする場合は、最初に書いたpreg_matchでやるように気をつけます。。


※参考URL
http://openlab.dino.co.jp/2007/11/23/121351149.html