在C#textBox中怎样限制只能输入数字,空格或逗号啊?
privatevoidtextBoxData_TextChanged_1(objectsender,System.EventArgse){if(!Regex.Match(...
private void textBoxData_TextChanged_1(object sender, System.EventArgs e)
{
if (!Regex.Match(textBoxData.Text, @"[0-9]\s$").Success) //数据必须为数字,逗号或空格
{
MessageBox.Show("请输入数字,谢谢!");
textBoxData.Clear();
}
}
但这样不对,不知道该如何修改,谢谢~! 展开
{
if (!Regex.Match(textBoxData.Text, @"[0-9]\s$").Success) //数据必须为数字,逗号或空格
{
MessageBox.Show("请输入数字,谢谢!");
textBoxData.Clear();
}
}
但这样不对,不知道该如何修改,谢谢~! 展开
3个回答
展开全部
using System.Text.RegularExpressions;
必须的:)
代码没错啊
正则式貌似有点问题
if (!Regex.Match(textBoxData.Text, @"^[0-9, ]{1,}$").Success)
必须的:)
代码没错啊
正则式貌似有点问题
if (!Regex.Match(textBoxData.Text, @"^[0-9, ]{1,}$").Success)
更多追问追答
追问
不好意思啊,结果还是不行,我在textBoxData栏中还是可以输入字母,并且不跳出错误提出,要按下运行键后系统才跳出错误……额……
追答
?你是说在属性栏里面TEXT属性赋值字母,然后运行才报错?
若是你真想在编程环境下都不让输入字母你只有自己写控件了,毕竟代码生效要在程序运行时候才行啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private static Regex RegNumber = new Regex("^[0-9]+$");
/// <summary>
/// 是否数字字符串
/// </summary>
/// <param name="inputData">输入字符串</param>
/// <returns></returns>
public static bool IsNumber(string inputData)
{
Match m = RegNumber.Match(inputData);
return m.Success;
}
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (textBox1.Text != null && textBox1.Text != "" && textBox1.Text != "," && !IsNumber(textBox1.Text.Trim()))
{
MessageBox.Show("请输入数字,谢谢!");
textBox1.Clear();
}
}
/// <summary>
/// 是否数字字符串
/// </summary>
/// <param name="inputData">输入字符串</param>
/// <returns></returns>
public static bool IsNumber(string inputData)
{
Match m = RegNumber.Match(inputData);
return m.Success;
}
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (textBox1.Text != null && textBox1.Text != "" && textBox1.Text != "," && !IsNumber(textBox1.Text.Trim()))
{
MessageBox.Show("请输入数字,谢谢!");
textBox1.Clear();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public bool Test(TextBox textBoxData)
{
bool flag=false;
for(int i=0;i<textBoxData.Text.Trim().Length();i++)
{
if(textBoxData.Text[i].substring("01234567 89,")>0)
{flag=true}
}
return flag;
}
{
bool flag=false;
for(int i=0;i<textBoxData.Text.Trim().Length();i++)
{
if(textBoxData.Text[i].substring("01234567 89,")>0)
{flag=true}
}
return flag;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询