フリーエンジニアである下っ端SEの備忘録と日記。日々是精進。 開発言語は主にC#。 開発技術が日々進化し続けている今日、取り残されまいとするも歳のせいか覚えが悪いSE。 ほったらかしですいません。

2009年10月12日

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

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("数字じゃない文字が入ってる!");
}

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

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

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

いつもお世話になっております。
宇宙仮面の C# プログラミング

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


同じカテゴリー(C#)の記事画像
【C#】short型 + short型 = int型
同じカテゴリー(C#)の記事
 [C#]日付チェック(スラッシュありなし両方対応) (2014-09-03 13:50)
 [C#]8桁の数字(文字列)をDateTime型に変換 (2014-07-07 18:59)
 フォーム上のテキストボックスコントロールを取得して入力チェック (2014-07-04 14:50)
 正規表現 (2011-01-24 15:29)
 【C#】decimal サフィックスのm (2010-03-15 16:07)
 【C#】ドロップダウンリストにListItemをAddする (2009-12-03 10:32)

Posted by ようすけ at 09:00│Comments(0)C#
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。