Как проверить ввод, требующий двух шестнадцатеричных символов?
Я хочу проверить значение строки из текстового поля.
Требования к валидации:
- Ровно 2 персонажа
- Только шестнадцатеричные символы
Как я могу это сделать?
4 ответа
Решение
Используйте элемент управления Regex с выражением: ^[0-9A-F]{2}$
Вы можете использовать регулярное выражение, что-то вроде:
^([0-9A-F]{2})$
String^ temp = "012345679abcdefABCDEF";
if (temp->IndexOf(e->KeyChar) == -1)
{
e->Handled = true;
}
используйте это для управления шестнадцатеричным персонажем
// Используем этот метод и перед его вызовом.. Pass или разбираем строку.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;
}