C#にてGUIアプリケーションを作成するときに使用する
TextBox などで入力文字の制限をする場合に使用する。特定文(整数値、実数値、金額、住所)に含まれる文字かを判断する方法を説明します。
特定文に含まれる文字かを判断
// 半角数字か判断する
static public bool IsHalfNumeric(char c)
{
if (c >= '0' && c <= '9')
{
return true;
}
return false;
}
// 半角整数値か判断する
static public bool IsHalfDigit(char c)
{
if ((c >= '0' && c <= '9') || c == '-' || c == '+')
{
return true;
}
return false;
}
// 半角実数値か判断する
static public bool IsHalfReal(char c)
{
if ((c >= '0' && c <= '9') || c == '-' || c == '+' || c == '.')
{
return true;
}
return false;
}
// 半角16進数か判断する
static public bool IsHalfHex(char c)
{
if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f'))
{
return true;
}
return false;
}
// 半角英文字か判断する
static public bool IsHalfAlpha(char c)
{
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
{
return true;
}
return false;
}
// 半角英数字か判断する
static public bool IsHalfAlnum(char c)
{
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || (c >= '0' && c <= '9'))
{
return true;
}
return false;
}
// 半角カナ文字か判断する
static public bool IsHalfKana(char c)
{
if (c >= 'ア' && c <= 'ン')
{
return true;
}
return false;
}
// 半角表示文字か判断する
static public bool IsHalfDisplay(char c)
{
if ((c >= ' ' && c <= '~') || (c >= '。' && c <= '゚'))
{
return true;
}
return false;
}
// 半角日付文字か判断する
static public bool IsHalfDate(char c)
{
if ((c >= '0' && c <= '9') || c == '/')
{
return true;
}
return false;
}
// 半角時間文字か判断する
static public bool IsHalfTime(char c)
{
if ((c >= '0' && c <= '9') || c == ':')
{
return true;
}
return false;
}
// 半角電話番号文字か判断する
static public bool IsHalfPhone(char c)
{
if ((c >= '0' && c <= '9') || c == '-')
{
return true;
}
return false;
}
// 半角郵便番号文字か判断する
static public bool IsHalfPost(char c)
{
if ((c >= '0' && c <= '9') || c == '-')
{
return true;
}
return false;
}
// 全角カナ文字か判断する
static public bool IsDblKatakana(char c)
{
Regex regex = new Regex("^[ァ-ヴ!ー]+$");
if (!regex.IsMatch(c.ToString()))
{
return false;
}
return true;
}
// 全角かな文字か判断する
static public bool IsDblHiragana(char c)
{
Regex regex = new Regex("^[ぁ-ん!ー]+$");
if (!regex.IsMatch(c.ToString()))
{
return false;
}
return true;
}
単純なものはif文にて行なえますが、複雑になるとif文ではプログラムが複雑になります。
そこで上記の例では、正規表現にて行っています。
全て正規表現にて行なうことも出来ます。速度など考慮の上ご自分で判断してください。