借助Regex C#对按键事件进行验证

时间:2014-04-25 11:07:06

标签: c# regex validation

我无法为正则表达式中的以下条件构建验证:

  
      
  • 在keypress事件
  • 上的文本框中仅允许带空格的字母   
  • 在keypress事件的文本框中仅允许数字不含空格
  •   
  • 在keypress事件的文本框中仅允许仅允许最多2位小数值的数字
  •   

我已尝试使用以下代码禁止使用数字:

if (!char.IsLetter(e.KeyChar) && Convert.ToInt32(e.KeyChar) != 8)
{
    errorprovider.SetError(product_combobox, "Only letters allowed");
    e.Handled = true;

    product_combobox.Focus();
}
else
{
    errorprovider.Clear();
}

1 个答案:

答案 0 :(得分:0)

如果根据文本框的整个值进行检查,以下是一些符合条件的正则表达式。它还不足以检查按键,因为用户可以通过其他方式将值输入到字段中 - 例如,通过粘贴一堆文本。

  • 仅允许在按键事件的文本框中包含空格的字母

^[a-zA-Z ]*$

  • 仅允许在按键事件的文本框中没有空格的数字

^[0-9]*$

  • 仅允许在按键事件
  • 上的文本框中包含最多2位小数值的数字

^[0-9]*([0-9]+\.[0-9]{1,2})*$