1

有一长串字符不允许验证winform应用程序的输入框。

因此,我认为与其列出不允许的长列表,不如选择允许的较短的列表。

允许的集合是(a-z,A-Z, 0-9,@,.).Rest 任何可以输入的东西都是不允许的。

这是我为此制作的正则表达式。

Regex.IsMatch(textBox1.Text, @"[@\.\w]+$")

它似乎在某些情况下有效,但是当我以这种格式输入数据时,normal character or number special character normal character or number它似乎打破了几个例子ee(vv, 55)44,aba&3B

无法弄清楚这有什么问题。

4

3 回答 3

2

您的正则表达式无效,因为您没有验证所有字符串,而是验证最后一部分。您应该以^- 行符号开头。

Regex.IsMatch(textBox1.Text, @"^[\w@.]*$")

\w也意味着每种语言的字母,因此它也会验证字符串"абц"。因此,如果您只需要英语,请使用

Regex.IsMatch(textBox1.Text, @"^[a-zA-Z0-9@.]*$")
于 2012-11-07T06:32:10.507 回答
1

试试这个 :

Regex.IsMatch(textBox1.Text, @"^[a-zA-Z0-9@.]*$")
于 2012-11-07T06:31:55.490 回答
0

采用

^[-a-zA-Z0-9  _  -  \. @]*

作为正则表达式文本。

于 2012-11-07T06:41:10.947 回答