如何限制TextBox在C#中的keypress事件中只接受十进制数中的一个点

时间:2011-04-23 03:32:51

标签: c# asp.net

我正在开发一个Windows移动应用程序,在此我想限制asp.net文本框只接受十进制数字中的一个点(C#)所以请建议我如何做到这一点。

提前致谢。

2 个答案:

答案 0 :(得分:1)

一种方法是使用控制扩展器。你可以

  1. 通过ajax / javascript检查客户端,确保只输入一位小数,

  2. 您可以在以后的表单上重复使用其他文本框中的扩展程序。

答案 1 :(得分:0)

我只会注册Textbox TextChanged事件。要验证十进制数,您可以使用基本的regexDecimal.TryParse方法。两种方法如下所示。

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
   if(!Regex.IsMatch(TextBox1.Text, @"[0-9]+(\.[0-9][0-9]?)?"))
      TextBox1.BackColor = Color.Red;

   decimal value;
   if(!decimal.TryParse(TextBox1.Text, out value))
      TextBox1.BackColor = Color.Red;
}