我有这个文本框:
<TextBox PreviewTextInput="InputValidation"/>
我希望用户只能插入数字,此符号=&gt; :
我实际上是这样做的:
private void InputValidation(object sender, TextCompositionEventArgs e)
{
Regex regex = new Regex("[^0-9]+");
e.Handled = regex.IsMatch(e.Text);
}
这只允许插入数字,如果我按:
我看不到符号。如何在正则表达式中添加它?
答案 0 :(得分:2)
正则表达式中的方括号用于表示要匹配的字符范围(或^
不匹配)。所以你需要做的就是添加:
字符:
Regex regex = new Regex("[^0-9:]+");
现在,如果您想要这样做,他们只能添加1个(或其他一些数字):
,那么它会变得有点棘手,但在这种情况下,您可能只想验证一次用户已完成输入而不是在键入时(因为否则会对用户造成真正的痛苦)。
答案 1 :(得分:1)
Regex regex = new Regex("[^0-9:]+");
澄清这意味着什么: -
&#39; ^&#39;意味着&#39;不是&#39;
&#39; 0-9&#39;意味着从零到九......
&#39; +&#39;表示一次或多次事件&#39;。
[]表示匹配&#39;。
的字符范围但是,因为&#39; 0-9&#39;和&#39;:&#39;是在括号之间写的,因此它们的多次出现都是正确的。
上面的代码试图搜索不包含数字的单词,并且:如果发生了,请继续。
答案 2 :(得分:0)
请试试这个:
[0-9\:]+$
这允许您编写0到9之间的数字,以及字符: