【C#】数字が入力されているかチェック

ようすけ

2009年10月12日 09:00

try
{
 int.Parse(txtbox.Text);
}
catch(FormatException)
{
 MessageBox.Show("数字のみ入力してください。");
}

・・・入力チェックに例外処理使ってよいのでしょうか?
個人的には嫌いです。楽なんですけど。

これ、Int32の数値範囲を超えるとバグりますね。
じゃあ、Doubleにすればよいのかというとそうじゃなくて・・・

で、数字かどうかのチェックはどうすればよいかと。

Char.IsDigit メソッド
Char.IsNumber メソッド
も使えそうでしたが、これ、全角の数字なんかもOKらしい。

今回は、半角数字だけを入力可にしたいので、正規表現を使って、
if(System.Text.RegularExpressions.Regex.IsMatch(textbox.Text,"^[0-9]+$") == false)
{
 MessageBox.Show("数字じゃない文字が入ってる!");
}

ってしてみた。
でこの正規表現、よく使う割りに全く覚えられないのです
毎回調べます。

0-9 のみの文字列 "^[0-9]+$"
a-z のみの文字列 "^[a-z]+$"

"[0-9]+"は数字が含まれていればなんでもOK

いつもお世話になっております。


この記事がお役に立ったようでしたらぜひクリックお願いしますm(_ _)m
人気ブログランキングへ

関連記事