代码改变世界

ASP.NET使用正则表达式进行数据验证

2011-09-22 23:40  侬卡  阅读(184)  评论(0编辑  收藏  举报
C#中的正则表达式包含在.NET基础类库的一个名称空间下,这个名称空间就是System.Text.RegularExpressions。

该名称空间包括8个类,1个枚举,1个委托。他们分别是:
Capture: 包含一次匹配的结果; 
CaptureCollection: Capture的序列; 
Group: 一次组记录的结果,由Capture继承而来; 
GroupCollection:表示捕获组的集合
Match: 一次表达式的匹配结果,由Group继承而来; 
MatchCollection: Match的一个序列;  MatchEvaluator: 执行替换操作时使用的委托; 
Regex:编译后的表达式的实例。 
RegexCompilationInfo:提供编译器用于将正则表达式编译为独立程序集的信息 RegexOptions 提供用于设置正则表达式的枚举值
Regex类中还包含一些静态的方法: 
Escape: 对字符串中的regex中的转义符进行转义; 
IsMatch: 如果表达式在字符串中匹配,该方法返回一个布尔值; 
Match: 返回Match的实例; 
Matches: 返回一系列的Match的方法; 
Replace: 用替换字符串替换匹配的表达式; 
Split: 返回一系列由表达式决定的字符串; 
Unescape:不对字符串中的转义字符转义。

下面示例是用来验证大陆的18位身份证号码的:

导入命名空间:
using System.Text.RegularExpressions;

程序代码:
String str = this.TextBox1.Text;
//要验证的数据
Regex reg =new Regex(@"^\d{18}$");
//要匹配的正则表达式
if (reg.IsMatch(str))
{
//匹配成功
this.Label1.Text = "数据正确!";
}
else
{
//匹配失败this.Label1.Text = "数据不正确!";
}

24元宝小说网