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>

这种方式限制输入法使用,就只能输入英文,数字,字符等,不能输入汉字


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM