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 = "数据不正确!";
}