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("数字じゃない文字が入ってる!");
}
ってしてみた。
でこの正規表現、よく使う割りに全く覚えられないのです
毎回調べます。
0-9 のみの文字列 "^[0-9]+$"
a-z のみの文字列 "^[a-z]+$"
"[0-9]+"は数字が含まれていればなんでもOK
いつもお世話になっております。

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

{
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
人気ブログランキングへ

[C#]日付チェック(スラッシュありなし両方対応)
[C#]8桁の数字(文字列)をDateTime型に変換
フォーム上のテキストボックスコントロールを取得して入力チェック
正規表現
【C#】decimal サフィックスのm
【C#】ドロップダウンリストにListItemをAddする
[C#]8桁の数字(文字列)をDateTime型に変換
フォーム上のテキストボックスコントロールを取得して入力チェック
正規表現
【C#】decimal サフィックスのm
【C#】ドロップダウンリストにListItemをAddする
Posted by ようすけ at 09:00│Comments(0)
│C#