我使用了以下站点: http: //msdn.microsoft.com/en-us/library/kkx4h3az.aspx 来验证输入 8 位数字,
然后我尝试以这种方式进行验证,以便只允许将字母数字(字母)值输入到文本框中,但它不起作用。
您是否必须应用不同的方法来只允许字母?如果有怎么办?
谢谢
我使用了以下站点: http: //msdn.microsoft.com/en-us/library/kkx4h3az.aspx 来验证输入 8 位数字,
然后我尝试以这种方式进行验证,以便只允许将字母数字(字母)值输入到文本框中,但它不起作用。
您是否必须应用不同的方法来只允许字母?如果有怎么办?
谢谢
这不是我的想法,但它应该让你开始......这似乎是一个常见的问题。如果这不起作用,请继续搜索 SO,您会找到答案。
Regex regex = new Regex("[a-zA-Z]");
Match match = regex.Matches(textBox1.Text);
首先,字母数字表示字母和数字。如果你只想要字母,你必须在你的面具中使用“L”。请参阅此链接以供参考。
或者,您可以检查文本更改事件中的输入。这也适用于传统的 TextBox(对于屏蔽文本框,您必须将 TextBox 更改为 MaskedTextBox)。请参见下面的代码:
private void textBox1_TextChanged(object sender, EventArgs e)
{
TextBox tb = sender as TextBox;
if (!tb.Text.All(char.IsLetter))
{
MessageBox.Show("Only Letters are allowed.", "Invalid Input", MessageBoxButtons.OK, MessageBoxIcon.Warning);
tb.SelectAll();
}
}
代码要求using System.Linq;