Как проверить ввод, требующий двух шестнадцатеричных символов?

Я хочу проверить значение строки из текстового поля.

Требования к валидации:

  1. Ровно 2 персонажа
  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;
} 
Другие вопросы по тегам