にゃあ

正の整数と小数にマッチする正規表現

今回は備忘録がてらの小ネタです。

「正の整数と小数にマッチする正規表現」が必要になったので書いておきます。フォームの入力値チェックで、整数か小数かチェックするためのものです。最初は、PHPのis_numeric()でいいかなと思ったのですが、"1e4"とかも通してしまうようなので、正規表現でやることにしました。(もっといい方法あるよ、という情報募集)数値を正規表現でチェックするのも妙な感じがしますが、$_POSTに入ってる値は基本的に文字列なので、$_POSTから取ったばかりのときは正規表現でもOKだと思います。

^([1-9]\d*|0)(\.\d+)?$

マッチ・アンマッチはこんな感じ...

0 ... OK
1 ... OK
123 ... OK
0123 ... NG
0.1 ... OK
0.123 ... OK
12.345 ... OK
1. ... NG
hoge ... NG
0755 ... NG

正規表現のテストは、Regex Testerが激しく便利ですね。


コメント&トラバ

トラックバックを送る

無関係なスパムのトラックバックを防止するため、リンク先で本サイト(suin.asia)への言及が確認されないトラックバックは破棄しています。

トラバURL : http://suin.asia/trackback/477

コメントを書く

お名前* URL
本文*
合い言葉* ←「hetenisrce」と入力して下さい。
* この記事の話題と関係ないコメントはどんな内容でも削除します。(移動できないので)

トラックバック

トラックバックがないのはさみしいにゃん…。

コメント

コメントはないです。誰かコメント書いてよぅ…。

Author

Submenu

Recent Entries

XOOPS Cube Dev Ring

氷川 XOOPS Module 開発室

Recent Comments

Recent Trackbacks