WPF TextBox设置输入限制 用正则表达式方式
只能输入数字的限制
在XAML文件里
<TextBox PreviewTextInput=
"TextBox_PreviewTextInput"></TextBox>
xaml.cs文件里
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
Regex re = new Regex("[^0-9.-]+");
e.Handled = re.IsMatch(e.Text);
}
以上这种方式是以相反的方式来设置正则表达式,该正则表达式是不为数字的意思
只能输入正整数和0
xaml.cs文件里
private void TextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
Regex re = new Regex("^[1-9]+[0-9]*$");
e.Handled = !re.IsMatch(e.Text);
}
以上这种方式是以正向的方式来设置正则表达式,但后面的match就应该取反
不能输入汉字
在xaml文件
xmlns:input="clr-namespace:System.Windows.Input;assembly=PresentationCore"
<TextBox input:InputMethod.IsInputMethodEnabled="False"></TextBox>
这种方式限制输入法使用,就只能输入英文,数字,字符等,不能输入汉字