PHP 数字かどうかチェックする
数字かどうかチェックする
phpである変数が数字(10進整数)かどうかチェックする場合、
is_numeric()を使えばいいのかと思ってましたが、
小数や16進数もtrueとなるそうです。(考えてみれば、そりゃそうだ)
正規表現で[0-9]+にマッチするかどうかチェックしとけばいいんだよな。。
if( ereg('^[0-9]+$', $num ) ){ echo "OK"; }
↑ゼロが頭に来てもOKとなります。
参照
http://openlab.dino.co.jp/2007/11/23/121351149.html
追記(2011/10/15)
PHP 5.3.0からeregは非推奨となったので、preg_matchで。
if( preg_match('/^[0-9]+$/', $num ) ){ echo "OK"; }