您的位置:首页 > 其它

关于正则表达式的使用一例。在Textbox 对话框内限制只能输入数字,如果输入出错,则清空内容。

2011-07-12 22:42 609 查看
关于正则表达式的使用一例。在Textbox 对话框内限制只能输入数字,如果输入出错,则清空内容。

在这个例子中,我们使用正则表达式来限制输入的内容,在使用之前,必须先要引入一个命名空间

using System.Text.RegularExpressions;

我们 XAML 文档中,指定事件订阅

<Grid>
<TextBox Height="23" HorizontalAlignment="Left" Margin="11,8,0,0" Name="textBox1" VerticalAlignment="Top" Width="40" TextChanged ="textBox1_DataContextChanged" />
//TextChanged 就是订阅的事件
<TextBox Height="23" HorizontalAlignment="Left" Margin="64,8,0,0" Name="textBox2" VerticalAlignment="Top" Width="40" TextChanged ="textBox1_DataContextChanged" />
//TextChanged 就是订阅的事件
<TextBox Height="23" HorizontalAlignment="Left" Margin="118,7,0,0" Name="textBox3" VerticalAlignment="Top" Width="40"/>
<Button Content="计算" Height="23" HorizontalAlignment="Left" Margin="174,8,0,0" Name="button1" VerticalAlignment="Top" Width="40" Click="button1_Click" />
<Label Content="+" Height="28" HorizontalAlignment="Left" Margin="47,5,0,0" Name="label1" VerticalAlignment="Top" />
<Label Content="=" Height="28" HorizontalAlignment="Left" Margin="101,5,0,0" Name="label2" VerticalAlignment="Top" />
</Grid>

再来看一个 下面这个CS文件,

private void textBox1_DataContextChanged(object sender, TextChangedEventArgs e)
{
Regex rgx = new Regex(@"^\d+$");
string ss = (sender as TextBox).Text;
if (!rgx.IsMatch(ss))
{
(sender as TextBox).Text = "";
}
}

这里的正则表达式是 “^\d+$” 前面的 @ 起到 按原文 转义字符,如果不加,那正则表达式就错了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐