王骏的博客
编程、网络技术点滴...

公告

逐渐将VC知识库的博客迁移到这里!

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

程序员博客   首页  新随笔  订阅  管理  登录 
 
王骏的博客 阅读(1362) 评论(1)

一、用RequiredFieldValidator验证必输项
比如有一个TextBox要求输入用户名userid,将RequiredFieldValidator放置在页面上后,修改验证控件的属性ControlToValidate设置为userid,在ErrorMessage中输入错误信息就可以了。

二、用CompareValidator验证相同项
有两个密码输入框password1,password2,要求两次密码输入必须相同。将CompareValidator放置在页面后,修改属性ControlToValidate为password1,
ControlToCompare指定比较的控件password2,在ErrorMessage中输入错误信息。

三、用RegularExpressionValidator进行正则表达式验证
以userid为例,加入RegularExpressionValidator控件后,修改其属性ControlToValidate为userid,ValidationExpression为正则表达式,ErrorMessage中输入错误信息。

四、判断本页的验证是否全部通过
if(Page.IsValid)
 MessageLabel.Text = "验证成功!";
else
 MessageLabel.Text = "验证失败!";

*注意: RegularExpressionValidator不对空值进行验证,对于空值要用RequiredFieldValidator

常用正则表达式

功能 正则表达式 说明
用户名 [\w\-]{3,12} 3-12个字符(包括英文字母、数字、'-'、'_')
密码 [\x21-\x7E]{3,8} 3-8个常用字符(0x21到0x7E)
年龄 1[0-2]\d|\d{1,2} 最大129岁
日期 (19|20)\d{2}[/\s\-\.]*(0[1-9]|1[0-2]|[1-9])[/\s\-\.]*(0[1-9]|3[01]|[12][0-9]|[1-9]) 不含时间的日期,没有处理2月29日的情况
(19|20)\d{2}[/\s\-\.]*(0[1-9]|1[0-2]|[1-9])[/\s\-\.]*(0[1-9]|3[01]|[12][0-9]|[1-9])([\s]*(2[0-3]|[01]?\d)(:[0-5]?\d){0,2})? 允许包含时间的日期
时间 (2[0-3]|[01]?\d)(:[0-5]\d){0,2} 不包含日期
(19|20)\d{2}[/\s\-\.]*(0[1-9]|1[0-2]|[1-9])[/\s\-\.]*(0[1-9]|3[01]|[12][0-9]|[1-9])[\s]*(2[0-3]|[01]?\d)(:[0-5]\d){0,2} 必须含日期的时间
身份证 \d{18}|\d{15} 15个或18个数字
邮件 \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  
网址 http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 只处理了http
金额 ^(-?\d+)(\.\d{0,2})?$
或者 \d+[\.]?\d{0,2}
允许输入含"."的数字,小数点后最多两位
电话 (\(?\d{3,4}\)?)?[\s-]?\d{7,8}[\s-]?\d{0,4} 兼容固话和手机,支持区号、"-"和分机   
中文姓名 [\u3000-\u9FA5\x20]{2,4} 长度2-4,允许全角和半角空格
任意字串 ^.{1,16} 长度1-16的任意字符
小数 ^(-?\d+)(\.\d+)?$
^(-?\d+)(\.\d{0,2})?$
不限小数位
限两位小数