代码改变世界

C#正则表达式Match类

2012-08-15 17:28  WSL_William  阅读(3886)  评论(0编辑  收藏  举报

我们在做一个系统的登录页面时,往往需要检查用户输入的字符串是否合法,下面是我写的一个检查程序(输入框只能输入英文和数字),C#正则表达式即可实现这一点。

C#正则表达式Match类表示正则表达式匹配操作的结果。

以下示例使用 Regex 类的 Match 方法返回 Match 类型的对象,以便检验输入字符串是否和所定义的字符串类型匹配。此示例使用 Match 类的 Match.Success 属性来指示是否成功匹配。

下面是一个检查用户输入的字符是否和原先定义的是否匹配的小程序

 1 private void txtuser_Validating(object sender, CancelEventArgs e)
 2         {
 3             if (this.txtuser.Text.Trim() != string.Empty)
 4             {
 5                 Regex rg_chk = new Regex("^[A-Za-z0-9]+$");
 6                 // 定义一个Regex对象实例
 7                 Match mt_chk = rg_chk.Match(this.txtuser.Text.Trim());
 8                 // 和输入框中的字符串中匹配
 9                 if (!mt_chk.Success)
10                 {
11                     this.lblmsg.Text = "用户名只能以英文和数字命名";
12                     e.Cancel = true;
13                 }
14                 else
15                 {
16                     this.lblmsg.Text = string.Empty;
17                 }
18             }
19             else
20             {
21                 this.lblmsg.Text = string.Empty;
22             }
23         }

这样在用户输入字符串后,如果合法,回车时才能跳到下一个文本框,否则无法跳到下一个文本框(这是一个登录画面的部分代码,但是这里还没有将所有代码没贴上)