テキストボックスの文字列値を検証したい。
検証要件は次のとおりです。
- 正確に2文字
- 16進文字のみ
これどうやってするの?
次の式でRegexバリデーターコントロールを使用します。^[0-9A-F]{2}$
次のような正規表現を使用できます。
^([0-9A-F]{2})$
String^ temp = "012345679abcdefABCDEF";
if (temp->IndexOf(e->KeyChar) == -1)
{
e->Handled = true;
}
これを16進文字制御に使用します
//このメソッドを使用し、呼び出す前に..passまたはstring.Substring(0,2)を解析します
public string ConvertToHex(string asciiString)
{
var newasciiString = Substring(asciiString,0,2);
string hex = "";
foreach (char c in newasciiString)
{
int tmp = c;
hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString()));
}
return hex;
}